commit
commit commits ALL uncommitted changes to local git history — packages first, then main project. Does NOT push to any remote. Run push when ready to publish.
The working tree must be CLEAN after this command returns — including pre-existing dirty files from before the current session. No orphaned changes left behind.
Workflow
| Step | Action |
|---|---|
| 0. Code review gate | Run refactor (Mode B) + the simplify skill on every staged + unstaged file. Skipping = violation of the hard rule in CLAUDE.md |
| 0.1 | Update CHANGELOG.md in every dirty repo. Bump patch, today's date, category tags: [NEW FEATURE] / [BUG FIX] / [IMPROVED] / [SECURITY] / [DEPENDENCIES]. Group under ### Features / ### Fixes / ### Improvements |
| 0.2 | Update README.md in every dirty repo if the changes touch public API / commands / config / installation. Report "README: already accurate" if no update needed |
| 0.3 | Export Guidelines (homer / jarvis only) — php artisan agent:export-guidelines |
| 1. Detect path packages | Find every "type": "path" repository in composer.json |
| 2. Commit packages first (in composer.json order) | For each dirty package: update its CHANGELOG, then git add -A && git commit. No push |
| 3. Commit main project | Stage everything (incl. files generated by Step 0.x) and git commit. No push |
| 4. Report | Show what landed where; make it obvious nothing was pushed |
Commit message format
For feature/fix:
Fix: Resolve validation issue in form submission
- Added proper email validation
- Fixed edge case with empty fields
Co-Authored-By: Claude <[email protected]>
For WIP snapshots:
WIP: 2025-01-24 22:35
Co-Authored-By: Claude <[email protected]>
Hard rules
- No pushing, ever. That's
push. - Never skip hooks (
--no-verify). Hook fails → fix root cause. - Never commit files that likely contain secrets (
.env,credentials.json). Explicit warning if Bruno requests it. - Never auto-amend. Always a NEW commit per run. Amending pushed commits is destructive; amending a hook-failed commit re-introduces the wrong tree state.
- Never leave any repo broken. If a commit fails mid-chain (package committed, main project commit fails), STOP and report. Do NOT roll forward to push.
Related
- push — same flow with the publish phase added
- Kraite — commit — Kraite-flavoured sibling
- refactor — Step 0 entry point (Mode B)