/commit
Create git commits in spaces/[project]/ with quality checks and conventional message formatting.
Usage
bash
/commit yourbench # Interactive commit /commit yourbench "feat: add auth" # Direct with message /commit coordinatr --amend # Amend last commit (safety checks) /commit yourbench "fix: typo" --no-verify # Skip hooks
Two Repos Involved
code
Meta-repo (ideas/): spaces/yourbench/ ├── ideas/yourbench/ ├── src/ │ ├── specs/ ├── tests/ │ └── issues/ └── .git/ <- Project git ├── .claude/ └── .git/ <- Meta-repo git
Auto-detect behavior:
- •Only
spaces/[project]/changed -> commit in project repo - •Only
ideas/or meta-repo changed -> commit in meta-repo - •Both changed -> ask: "Commit to both repos? (project/meta/both)"
Execution Flow
1. Detect Changes
bash
# Check meta-repo git status --porcelain ideas/ .claude/ shared/ resources/ # Check project repo git -C spaces/[project] status --porcelain
2. Run Quality Checks (unless --no-verify)
bash
npm test # or pytest, cargo test, etc. npm run lint
3. Review Changes
bash
git status git diff --staged
4. Generate Commit Message
Conventional commit format:
code
type(scope): description [optional body] Co-Authored-By: Claude <noreply@anthropic.com>
Types:
- •
feat: New feature - •
fix: Bug fix - •
docs: Documentation - •
refactor: Code refactoring - •
test: Adding/updating tests - •
chore: Maintenance
Auto-detect type from changes:
- •New files in
src/->feat - •Changes to existing behavior ->
fixorrefactor - •Only test files ->
test - •Only docs ->
docs
5. Link to Issue (if applicable)
If on feature branch like feature/001-auth:
code
feat(001): implement user authentication Refs: TASK-001
6. Execute Commit
bash
cd spaces/yourbench git add . git commit -m "message..."
Amend Mode
Safety checks before amending:
- •Not pushed to remote:
git log @{u}..HEAD - •You're the author:
git log -1 --format='%ae'
Branch-Aware Messages
| Branch | Commit Type |
|---|---|
feature/001-auth | feat(001): ... |
bugfix/002-login | fix(002): ... |
main / develop | No issue reference |
Error Handling
| Error | Resolution |
|---|---|
| Project not found | Check spaces/[project]/ exists |
| Not a git repo | Run git init in project |
| Tests failing | Fix tests before committing |
| Nothing to commit | No staged/unstaged changes |
| Amend pushed commit | Cannot amend, create new commit |