CLAUDE.md@packages/cli/templates ยท diff
git:20260708.78d1787 to git:20261007.f948b91
14 added, 17 removed. Audit A 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.
+ asks. **For this project that default does NOT apply.** Commit per logical
+ unit (one feature, one fix, one rename, one doc rewrite) as soon as it is
+ complete and its checks pass, WITHOUT being asked, then push when there is a
+ remote. 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`).
+ - Building a whole app from a spec in one session is ONE unit: build it,
+ verify it, then commit once. Later changes are one commit each.
+ - Never commit to `main`. Work on a feature branch (the pre-commit hook
+ refuses `main`).
+ - Imperative subject under 72 characters. 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.
+ Two hooks back this up: `.claude/hooks/nudge-uncommitted.sh` reminds you while
+ uncommitted changes pile up on a branch that already has commits, and
+ `.claude/hooks/commit-before-stop.sh` stops you from ending a turn with
+ uncommitted work on a feature branch.