## Summary Selective migration to the managed Spec Kit project structure. ## Included - add managed Spec Kit integration metadata under `.specify/` - add bundled `speckit` workflow registry - add bundled `git` extension, scripts, and config - add new `speckit.git.*` command surfaces for Copilot, Gemini, and `.agents` - add the Spec Kit plan marker block to `.github/copilot-instructions.md` ## Intentionally excluded - no replacement of the existing customized core `speckit.*.agent.md` files - no `.vscode/settings.json` commit; the copied manifest was adjusted accordingly - no changes to the active `specs/231-finding-outcome-taxonomy` work ## Validation - `specify integration list` - `specify workflow list` - `specify extension list` - focused managed-file diff review Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #266
1.9 KiB
1.9 KiB
| name | description | compatibility | metadata | ||||
|---|---|---|---|---|---|---|---|
| speckit-git-commit | Auto-commit changes after a Spec Kit command completes | Requires spec-kit project structure with .specify/ directory |
|
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:
- Determines the event name from the hook context (e.g., if invoked as an
after_specifyhook, the event isafter_specify; ifbefore_plan, the event isbefore_plan) - Checks
.specify/extensions/git/git-config.ymlfor theauto_commitsection - Looks up the specific event key 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
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:
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