Automatically commit staged changes using conventional commit format.
CRITICAL SAFETY RULES - NEVER VIOLATE THESE
FORBIDDEN COMMANDS - NEVER RUN THESE:
- •
git reset --hard- destroys uncommitted changes - •
git checkout .orgit checkout -- <file>- discards changes - •
git clean- deletes untracked files - •
git stash drop- loses stashed changes - •
git push --forceorgit push -f- rewrites remote history - •
git rebasewithout explicit user request - •Any command with
--hard,--force,-fflags unless explicitly requested - •
git add .orgit add -A- user controls what is staged
ONLY ALLOWED GIT COMMANDS:
- •
git diff --cachedorgit diff --staged- view staged changes - •
git log- read commit history - •
git status- check repository state - •
git commit -m "..."- commit with message (ONLY after user approval)
Instructions
- •
Read staged changes ONLY:
bashgit diff --cached --stat git diff --cached
- •
Read recent commit history for style reference:
bashgit log --oneline -20
- •
Generate a conventional commit message following this format:
code<type>(<scope>): <short description> <optional body with more details>
Types:
- •
feat- new feature - •
fix- bug fix - •
refactor- code refactoring without changing functionality - •
chore- maintenance tasks, dependencies - •
docs- documentation changes - •
style- formatting, whitespace (no code change) - •
test- adding/updating tests - •
perf- performance improvements - •
ci- CI/CD changes
Scopes (project-specific):
- •
parser- lexer, parser, escape handling (src/parser/) - •
writer- serializer, comments, quoting (src/writer/) - •
project- XcodeProject API, build settings, paths, UUIDs (src/project/) - •
types- plist types, ISA definitions, constants (src/types/) - •
objects- pbxproj object model (src/objects/) - •
napi- Node.js N-API bindings (src/lib.rs) - •
tests- integration tests and JS specs (tests/,__test__/) - •
bench- benchmarks (benches/) - •
ci- GitHub Actions workflows (.github/) - •
npm- npm packaging and platform targets (npm/,package.json)
- •
- •
Show the proposed commit message and ASK for confirmation:
- •Display the exact command that will be run
- •Wait for explicit user approval before running
git commit
- •
After successful commit:
- •Show
git statusto confirm the commit - •Do NOT push unless explicitly requested
- •Show