Capture the deployment/supervision model now implemented by @quinn/manage-apps: - manage_apps_orchestrator: manage-apps auto-discovers .infra.yaml (no registry); retire per-app app.manifest.yaml and hand-rolled start/deploy ssh scripts. - systemd_supervision: standing cloud services run as systemd units (not foreground ssh / PID files); deploy installs the unit, manage-apps drives it. - mesh_host_resolution: service.host is an ssh alias from net-tools host-apply; internal traffic rides the WG mesh (no auth on-mesh, no public app ports). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| programming_gd | ||
| programming_general | ||
| programming_py | ||
| programming_rust | ||
| programming_swift | ||
| programming_ts | ||
| scripts/cli | ||
| convention.yaml.schema | ||
| README.md | ||
| run | ||
@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 asconvention:<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.
Lint
./run lint:yaml validates every convention against convention.yaml.schema (name==filename, scope==dir, semver). run is a symlink to scripts/cli/run.