CLAUDE.md@packages/cli/templates ยท diff
git:20260511.db1eb0c to git:20260708.78d1787
22 added, 0 removed. Audit B to A.
@AGENTS.md
@CONVENTIONS.md
+ # Committing per logical unit (this OVERRIDES Claude Code's default)
+
+ Claude Code's built-in default is to NEVER commit unless the user explicitly
+ asks. **For this project that default does NOT apply.** Commit and push per
+ logical unit (one feature, one fix, one rename, one doc rewrite) as soon as it
+ is complete, WITHOUT being asked. Do not save all the work for one commit at the
+ end. A finished implementation with zero commits is a mistake here, because git
+ history is the user's revert and cherry-pick safety net.
+
+ - After each completed unit whose tests pass, `git add` the related files and
+ `git commit` with an imperative subject under 72 chars, then push. If 5+ files
+ span more than one concern, you already waited too long.
+ - Never commit to `main`. Work on a feature branch (the
+ `.claude/hooks/guard-branch-context.sh` hook enforces this).
+ - No AI-attribution trailers (`Co-Authored-By`, `Generated by`).
+
+ See AGENTS.md "Git workflow" for the full contract. Two hooks back this up: the
+ `.claude/hooks/nudge-uncommitted.sh` PostToolUse hook reminds you while
+ uncommitted changes pile up during work, and the
+ `.claude/hooks/commit-before-stop.sh` Stop hook stops you from ending a turn
+ with a pile of uncommitted work still on a feature branch.
+