convention.yaml.schema (meta-schema) + per-language dirs (general/ts/swift/py/ rust/gd). Seed conventions: recursive_code_workspace (the ~/Code @org tree, always-active), infra_manifest (per-project .infra.yaml + its schema), and ts/code_standards + general/git_commit (shifted from the prose agentic configs). Referenced by global config as convention:<name>(<args>). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
29 lines
1.4 KiB
YAML
29 lines
1.4 KiB
YAML
name: recursive_code_workspace
|
|
title: Recursive code workspace (~/Code @org tree)
|
|
scope: general
|
|
status: active
|
|
summary: ~/Code is a recursive tree of @org dirs, each holding many independent git repos; tools and agents resolve projects by walking it.
|
|
params:
|
|
- name: root
|
|
description: Workspace root to walk.
|
|
default: "~/Code"
|
|
appliesTo: ["~/Code/**"]
|
|
rules:
|
|
- id: orgs
|
|
level: must
|
|
text: >
|
|
Top-level @org dirs partition the workspace: @applications (apps/services you
|
|
operate), @projects (platforms incl. @cocottetech, @magic-civilization, @lilith),
|
|
@packages (shared libraries), @conventions (this repo), plus support buckets
|
|
@scripts / @docs / @forks / @external / @archives / @work.
|
|
- id: independent_repos
|
|
level: must
|
|
text: Each project under an @org is its own independent git repo. Never assume a single monorepo at the root.
|
|
rationale: Repos are cloned/forge-managed per-project; cross-repo coupling is HTTP/registry, not filesystem.
|
|
- id: per_project_infra
|
|
level: should
|
|
text: A deployable project owns its infra via a root .infra.yaml (see convention:infra-manifest). Shared infra (e.g. the managed PG cluster) is data-sourced, not owned per-project.
|
|
rationale: Catch-all shared infra repos (uvlava-style) are superseded by per-project ownership.
|
|
- id: support_buckets
|
|
level: may
|
|
text: Cross-cutting or transient items live in the support buckets, not inside project repos.
|