feat(recursive_code_workspace): root holds producers only; add @projects kind-org
Root (~/Code) contains ONLY producer namespaces (@ct/@mc/@quinn) + support buckets. Kind-orgs never appear at root — they nest one level down under a producer: path is ~/Code/<producer>/<kind-org>/<repo> (e.g. ~/Code/@quinn/ @packages, never ~/Code/@packages). Add @projects as a kind-org (project-shaped initiatives vs single deployable @applications). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
a3e38820db
commit
62258be795
1 changed files with 21 additions and 8 deletions
|
|
@ -15,10 +15,20 @@ rules:
|
|||
- id: org_dirs
|
||||
level: must
|
||||
text: >
|
||||
Every @org dir is one of two things: a PRODUCER NAMESPACE (who builds it — e.g.
|
||||
@ct, @lilith, @magic-civilization) or a KIND-ORG (what kind of artifact — @applications,
|
||||
@packages, @platform, @developer). The same names recur at any depth; an @org's
|
||||
meaning is positional, never global.
|
||||
Every @org dir is one of two things: a PRODUCER NAMESPACE (who builds it — @ct, @mc,
|
||||
@quinn) or a KIND-ORG (what kind of artifact — @applications, @projects, @packages,
|
||||
@platform, @developer). The same names recur at depth; an @org's meaning is positional,
|
||||
never global.
|
||||
- id: root_is_producers
|
||||
level: must
|
||||
text: >
|
||||
The workspace root (~/Code) contains ONLY producer namespaces (@ct, @mc, @quinn) plus the
|
||||
cross-cutting support buckets. KIND-ORGS NEVER APPEAR AT ROOT — every @applications /
|
||||
@projects / @packages / @platform / @developer lives one level down, INSIDE a producer
|
||||
namespace. A repo's path is ~/Code/<producer>/<kind-org>/<repo>, e.g.
|
||||
~/Code/@quinn/@packages/<lib> (never ~/Code/@packages/<lib>). @quinn is the default
|
||||
producer, so personal / unscoped work lands under ~/Code/@quinn/<kind-org>/.
|
||||
rationale: "Producer is the PRIMARY partition, kind is secondary. The path mirrors the forge — ~/Code/<producer>/<kind-org>/<repo> <-> <forge-host>/<producer-or-org>/<repo>."
|
||||
- id: producer_namespaces
|
||||
level: must
|
||||
text: >
|
||||
|
|
@ -39,8 +49,10 @@ rules:
|
|||
level: must
|
||||
text: >
|
||||
Kind-orgs partition a producer's repos by artifact role:
|
||||
@applications = deployable products you operate (a composition of clients + backends +
|
||||
databases serving real consumers);
|
||||
@applications = single deployable products you operate (a composition of clients + backends
|
||||
+ databases serving real consumers);
|
||||
@projects = project-shaped initiatives that aren't one deployable app (multi-component
|
||||
efforts, experiments, creative / personal work);
|
||||
@packages = shared libraries consumed by apps;
|
||||
@platform = the core platform product, kept as VERSIONED GENERATIONS (current + archived);
|
||||
@developer = dev-infra / meta repos (conventions, tooling).
|
||||
|
|
@ -86,5 +98,6 @@ rules:
|
|||
level: may
|
||||
text: >
|
||||
Cross-cutting or transient items live in the top-level support buckets (@scripts /
|
||||
@docs / @forks / @external / @archives / @work), not inside project repos. These sit
|
||||
beside the producer namespaces and kind-orgs at the workspace root.
|
||||
@docs / @forks / @external / @archives / @work), not inside project repos. These are the
|
||||
ONLY non-producer entries at the workspace root — they sit beside the producer namespaces
|
||||
(@ct / @mc / @quinn), never kind-orgs.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue