Commit frequently
Git commits are free, so commit often and use meaningful commit messages. This helps you track changes and makes it easier to revert if needed.
Use the /commit command to automate commit creation with conventional commit messages and emojis.
Command Specificationβ
---
allowed-tools: Bash(git add:*), Bash(git status:*), Bash(git commit:*)
argument-hint: "[--no-verify]"
description: Create a git commit
---
# Commit
Create well-formatted commits with conventional commit messages and emojis.
## Features:
- Runs pre-commit checks by default (lint, build, generate docs)
- Automatically stages files if none are staged
- Uses conventional commit format with descriptive emojis
- Suggests splitting commits for different concerns
## Usage:
- `/commit` - Standard commit with pre-commit checks
- `/commit --no-verify` - Skip pre-commit checks if $ARGUMENTS contains `--no-verify` flag
## Commit Types:
- β¨ feat: New features
- π fix: Bug fixes
- π docs: Documentation changes
- β»οΈ refactor: Code restructuring without changing functionality
- π¨ style: Code formatting, missing semicolons, etc.
- β‘οΈ perf: Performance improvements
- β
test: Adding or correcting tests
- π§βπ» chore: Tooling, configuration, maintenance
- π§ wip: Work in progress
- π₯ remove: Removing code or files
- π hotfix: Critical fixes
- π security: Security improvements
## Process:
1. Check for staged changes (!`git status`)
2. If no staged changes, review and stage appropriate files
3. Run pre-commit checks (unless --no-verify)
4. Analyze changes to determine commit type
5. Generate descriptive commit message
6. Include scope if applicable: `type(scope): description`
7. Add body for complex changes explaining why
8. NOTE: Exclude Claude co-authorship footer from commits
9. Execute commit
## Best Practices:
- Keep commits atomic and focused
- Write in imperative mood ("Add feature" not "Added feature")
- Explain why, not just what
- Reference issues/PRs when relevant
- Split unrelated changes into separate commits
Relatedβ
- /commit - Full command documentation