Skip to main content
ClaudeWave
Slash Command260 repo starsupdated 16d ago

cm

The cm command stages selected working tree changes and creates a Conventional Commit message without pushing. Use this when preparing code for version control by reviewing file diffs for sensitive information, intentionally staging changes, generating properly formatted commit messages with scope and type, and verifying the resulting commit before publishing it separately with the cp command.

Install in Claude Code
Copy
mkdir -p ~/.claude/commands && curl -fsSL https://raw.githubusercontent.com/borghei/Claude-Skills/HEAD/.claude/commands/git/cm.md -o ~/.claude/commands/cm.md
Then start a new Claude Code session; the slash command loads automatically.

cm.md

1. Run `git status --short` to review pending changes.
2. For each file, open a diff (`git diff -- path/to/file`) and ensure no secrets or credentials are present.
3. Stage the files intentionally (`git add path/to/file`). Avoid `git add .` unless every change was reviewed.
4. Generate a Conventional Commit message (types: feat, fix, docs, style, refactor, perf, test, build, ci, chore, revert).
   - Commit subject ≤ 72 chars.
   - Scope uses kebab-case (e.g., `feat(marketing): ...`).
   - Use `.github/commit-template.txt` for Context / Testing / Reviewers sections.
   - Never add AI attribution strings (e.g. `Co-Authored-By: Claude ...`, `🤖 Generated with ...`) to the commit message.
5. Run `git commit` and paste the generated message + context from the template.
6. Show the resulting commit (`git log -1 --stat`) and keep the commit hash handy.
7. **Do not push** in this command. Use `git/cp.md` when you're ready to publish.