| name | commit |
| description | Smart commit โ validate, stage, and commit with a conventional commit message |
| disable-model-invocation | true |
Create a clean, validated commit for the current changes.
Step 1 โ Pre-commit Validation
Run the test and type-check commands (see project config).
If either fails: STOP. Fix the issues first โ never commit broken code.
Step 2 โ Review Changes
git status
git diff --staged
git diff
Understand what changed, which files are affected, and which layer (core/service/api/tests).
Step 3 โ Stage Files
- Stage only relevant files โ never
git add . blindly
- NEVER stage
.env, credentials, or secrets
- NEVER stage build artifacts (see stack concepts in project config for list)
- Verify
.gitignore covers sensitive files
Step 4 โ Generate Commit Message
Use conventional commit format:
<type>(<scope>): <short description>
<optional body explaining why, not what>
Types:
feat โ New feature or endpoint
fix โ Bug fix
refactor โ Code restructuring without behavior change
test โ Adding or updating tests
docs โ Documentation changes
chore โ Config, dependencies, tooling
security โ Security-related changes
Scopes: api, core, service, auth, config, middleware, tests, docker
Step 5 โ Commit
git commit -m "<conventional message>"
Step 6 โ Verify
git log --oneline -1
git status
Confirm the commit was created and working tree is clean.