Help us improve
Share bugs, ideas, or general feedback.
npx claudepluginhub josephanson/claude-plugin --plugin jaHow this command is triggered — by the user, by Claude, or both
Slash command
/ja:commit messageThe summary Claude sees in its command listing — used to decide when to auto-load this command
# 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 ...
/commitAnalyzes staged git changes, generates a conventional commit message, seeks user approval, and executes the commit without trailers.
/commitAnalyzes git changes to generate conventional commit messages, stages files appropriately, runs pre-commit checks like linting and tests, and creates atomic commits.
/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.
Share bugs, ideas, or general feedback.
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: