Git Commit Message Generator
Format
type(scope): subject in imperative mood
- Body bullet in past tense with period.
- Another change description.
Types
Type When to Use
feat
Added new functionality
fix
Fixed a bug
refactor
Restructured code, no behavior change
chore
Dependencies, tooling, configs
docs
Documentation
test
Tests
cicd
CI/CD pipelines, deployment, .github/ configs (workflows, dependabot, etc.)
ai
AI/Claude configurations
Rules
-
Subject: Imperative mood, lowercase after colon, no period, max 72 chars
-
Scope: Derived from path (e.g., apps-server , apps-expo , shared-domain , scripts , services ). When changes span multiple scopes, omit the scope entirely
-
Body: Past tense, capital start, period at end
-
No attribution: Never include "Co-Authored-By", "Generated with", or any AI/author attribution
-
AI-only changes: When changes are exclusively AI-related (skills, prompts, Claude configs), always use ai type—never refactor , chore , or other types
-
Preview before commit: Always show the proposed commit message to the user for confirmation before executing the commit
Examples
feat(apps-server): add health check endpoint
refactor(apps-server): migrate from LibSQL to PostgreSQL
- Replaced LibSQL/Turso with PostgreSQL for Better Auth storage.
- Removed OpenFGA environment variables.
- Added pg and Effect SQL dependencies.
chore: update workspaces and dependencies
- Added shared/repositories/* to workspaces.
- Bumped @biomejs/biome to 2.3.8.
fix(apps-cli): update build filter to exclude xiroi-apps directory
- Changed the build command filter from excluding './apps/' to excluding './xiroi-apps/' for more accurate targeting.
ai: secure Claude settings by restricting dangerous permissions