| name | commit |
| description | Stage all changes and commit with a descriptive message. Use when the user asks to commit, save changes, or says "/commit". |
| args | [push] |
Workflow
IMPORTANT: Only use PUSH=true when the user explicitly says "/commit push" or asks to push. Plain "/commit" should NEVER push.
-
Review changes to determine commit message and version bump:
git diff
git describe --tags --abbrev=0 2>/dev/null || echo "none"
-
Analyze changes for version bump (if tags exist):
- Major (X.0.0): Breaking changes - removed/renamed public APIs, changed behavior
- Minor (0.X.0): New features - new rules, new CLI flags, new capabilities
- Patch (0.0.X): Bug fixes, docs, refactoring, dependency updates
-
Run commit script with subject and description:
.claude/skills/commit/commit.sh "subject line" "description body"
PUSH=true NEW_VERSION=vX.Y.Z .claude/skills/commit/commit.sh "subject line" "description body"
PUSH=true .claude/skills/commit/commit.sh "subject line" "description body"
- Subject: Lowercase, imperative mood (e.g., "add feature" not "Added feature")
- Description: Explain the "why" and context. What problem does this solve? What approach was taken? Include relevant details about the implementation.
The script handles: lint, test, stage, commit, and beanup sync. Push and release only happen when PUSH=true.