| description | Auto-commit changes after a Spec Kit command completes | ||||
|---|---|---|---|---|---|
| scripts |
|
Automatically stage and commit all changes after a Spec Kit command completes.
This command is invoked as a post-hook after core commands. It:
- Checks
.specify/extensions/git/git-config.ymlfor theauto_commitsection - Looks up the specific event key (e.g.,
after_specify) to see if auto-commit is enabled - Falls back to
auto_commit.defaultif no event-specific key exists - Uses the per-command
messageif configured, otherwise a default message - If enabled and there are uncommitted changes, runs
git add .+git commit
The hook system passes the event name to the script:
- Bash:
.specify/extensions/git/scripts/bash/auto-commit.sh after_specify - PowerShell:
.specify/extensions/git/scripts/powershell/auto-commit.ps1 after_specify
In .specify/extensions/git/git-config.yml:
auto_commit:
default: false # Global toggle — set true to enable for all commands
after_specify:
enabled: true # Override per-command
message: "[Spec Kit] Add specification"
after_plan:
enabled: false
message: "[Spec Kit] Add implementation plan"- If Git is not available or not a repository: skips silently
- If no config file exists: skips (disabled by default)
- If no changes to commit: skips with a message