No description
Find a file
Natalie 48d4853685 feat(conventions): seed central workspace+coding conventions repo
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>
2026-06-29 08:19:39 -04:00
programming_gd feat(conventions): seed central workspace+coding conventions repo 2026-06-29 08:19:39 -04:00
programming_general feat(conventions): seed central workspace+coding conventions repo 2026-06-29 08:19:39 -04:00
programming_py feat(conventions): seed central workspace+coding conventions repo 2026-06-29 08:19:39 -04:00
programming_rust feat(conventions): seed central workspace+coding conventions repo 2026-06-29 08:19:39 -04:00
programming_swift feat(conventions): seed central workspace+coding conventions repo 2026-06-29 08:19:39 -04:00
programming_ts feat(conventions): seed central workspace+coding conventions repo 2026-06-29 08:19:39 -04:00
convention.yaml.schema feat(conventions): seed central workspace+coding conventions repo 2026-06-29 08:19:39 -04:00
README.md feat(conventions): seed central workspace+coding conventions repo 2026-06-29 08:19:39 -04:00

@conventions

Single source of truth for workspace + coding conventions, shared by every project under ~/Code (and known to global agentic config, so any agent in any repo can resolve them).

Layout

@conventions/
├── convention.yaml.schema          # meta-schema every convention validates against
├── programming_general/<name>.yaml # language-agnostic conventions
├── programming_ts/<name>.yaml      # TypeScript
├── programming_swift/<name>.yaml   # Swift
├── programming_py/<name>.yaml      # Python
├── programming_rust/<name>.yaml    # Rust
└── programming_gd/<name>.yaml      # GDScript

A convention

A <name>.yaml is metadata + rules, and may:

  • accept params — referenced as convention:<name>(<args>), e.g. convention:recursive_code_workspace(~/Code);
  • define a manifest via providesFile — a file (e.g. .infra.yaml) every conforming project must contain, with a nested JSON Schema for its contents.

Validate a convention file against convention.yaml.schema; validate a project's manifest against the convention's providesFile.schema.

How agents use it

Global config points agents here. An agent resolves convention:<name> by reading programming_<scope>/<name>.yaml, applies its rules, and (for providesFile conventions) reads/writes the project's manifest to that schema. Conventions are data, not prose — tooling (a future infra-apply, linters, scaffolders) can consume them directly.

Seed conventions

  • programming_general/recursive_code_workspace.yaml — the ~/Code @org layout.
  • programming_general/infra-manifest.yaml — per-project .infra.yaml.