conventions/programming_general/git_commit.yaml
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

25 lines
1.1 KiB
YAML

name: git_commit
title: Atomic commit + push protocol
scope: general
status: active
summary: Each verified logical change is its own scoped, conventional commit, pushed immediately; every agent commits the work it produced.
appliesTo: ["~/Code/**"]
rules:
- id: atomic
level: must
text: One logical, verified change per commit. Stage with scoped `git add <paths>` — never blind `git add -A`.
- id: verify_first
level: must
text: Tests / build / typecheck pass before the commit. Never commit unverified code.
- id: conventional
level: must
text: Conventional-commit message; end with the Co-Authored-By trailer.
- id: push_after
level: must
text: git push (fast-forward only) after each commit so work isn't stranded on one host. Never force-push.
- id: agent_owns_commit
level: must
text: Each agent (orchestrator or sub) commits + pushes its own work; never defer to a parent or a daemon. (The apricot ACS auto-commit-service is stale/offline.)
- id: branch
level: should
text: These repos work on main directly; don't auto-create branches unless the project requires it.