Auto Commit Changes
/speckit.git.commitAutomatically stage and commit all changes after a Spec Kit command completes.
--- description: "Auto-commit changes after a Spec Kit command completes" --- # Auto-Commit Changes Automatically stage and commit all changes after a Spec Kit command completes. ## Behavior This command is invoked as a hook after (or before) core commands. It: 1. Determines the event name from the hook context (e.g., if invoked as an after_specify hook, the event is after_specify; if before_plan, the event is before_plan) 2. Checks .specify/extensions/git/git-config.yml for the auto_commit section 3. Looks up the specific event key to see if auto-commit is enabled 4. Falls back to auto_commit.default if no event-specific key exists 5. Uses the per-command message if configured, otherwise a default message 6. If enabled and there are uncommitted changes, runs git add . + git commit ## Execution Determine the event name from the hook that triggered this command, then run the script: - Bash: .specify/extensions/git/scripts/bash/auto-commit.sh <event_name> - PowerShell: .specify/extensions/git/scripts/powershell/auto-commit.ps1 <event_name> Replace <event_name> with the actual hook event (e.g., after_specify, before_plan, after_implement). ## Configuration In .specify/extensions/git/git-config.yml: ``yaml 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" `` ## Graceful Degradation - If Git is not available or the current directory is not a repository: skips with a warning - If no config file exists: skips (disabled by default) - If no changes to commit: skips with a message