npx claudepluginhub josephanson/claude-plugin --plugin jamessage# Commit Command Create atomic conventional commits from staged and unstaged changes. ## Usage ## Core Principles 1. **Atomic Commits**: One logical change per commit 2. **Conventional Commits**: Follow the spec (feat, fix, docs, style, refactor, perf, test, build, ci, chore) 3. **No AI Attribution**: Never include Co-Authored-By or Generated with lines 4. **Always Push**: Batch push all commits after creation ## Forbidden Content **NEVER include in commit messages:** - `Generated with [Claude Code]` - `Co-Authored-By: Claude` - Any AI tool attribution - Any co-authorship mentions ...
/commitStages unstaged changes based on git status and diff analysis, then creates a commit with a generated message. Uses current branch and recent commit history for context.
/commitStages changes and commits locally using Conventional Commits format. Analyzes git status/diffs, drafts typed message with scope, confirms with user before git add and commit.
/commitCreates well-formatted git commits with conventional messages and emojis. Runs pre-commit checks (lint/format/build/docs), auto-stages files if needed, analyzes diffs, and suggests splitting multi-change commits unless --no-verify.
/commitCreates well-formatted git commits with conventional messages and emojis. Runs pre-commit checks (lint/format/build/docs), auto-stages files if needed, analyzes diffs, and suggests splitting multi-change commits unless --no-verify.
/commitRuns pre-commit git checks, quality gates (lint, typecheck, tests), code review for issues; drafts conventional commit message; stages specific files and commits. Supports --no-verify, --amend, --push options.
/commitAnalyzes current git diff, generates 3 conventional commit message options (concise, detailed, comprehensive), presents for user selection, and executes git commit.
Create atomic conventional commits from staged and unstaged changes.
/ja:commit # Auto-detect and commit all changes
/ja:commit "message" # Use provided message hint
NEVER include in commit messages:
Generated with [Claude Code]Co-Authored-By: Claudegit status
git diff --staged --name-status
git diff --name-status
Categorise changes by file type and determine grouping strategy.
Group changes by type:
| Group | Types | Examples |
|---|---|---|
| Infrastructure | build, ci, chore | Config files, dependencies |
| Architecture | refactor, perf | Code restructuring |
| Features | feat | New functionality |
| Fixes | fix | Bug fixes |
| Testing | test | Test files |
| Documentation | docs | README, comments |
| Styling | style | Formatting |
For each commit group:
git add [relevant_files]
git commit -m "type(scope): description"
Commit message format:
type(scope): subject
body (optional - explain why, not what)
footer (optional - breaking changes, issue refs)
git log -n [number_of_commits] --oneline
Scan for forbidden AI attribution content.
git push
# or for new branches:
git push -u origin $(git branch --show-current)
Instead of one large commit:
git commit -m "feat: massive update with everything"
Create atomic sequence:
git commit -m "chore: add linting configuration"
git commit -m "refactor(api): enhance utility functions"
git commit -m "feat(users): implement user creation"
git commit -m "test: add user management tests"
git push
Before ANY git commit: