* Add live server logs Spec Kit plan * Implement live server logs diagnostics module * Add server log sources and redaction hardening * Add diagnostics unit tests * Harden server log hub subscriptions * Secure server log hub permissions * Validate server log filter updates * Add diagnostics logger and source tests * Add diagnostics integration test project * Add multi-source diagnostics provider coverage * Broadcast server log source changes * Document diagnostics server log streaming * Add diagnostics sample host wiring * Record diagnostics validation results * Address server log PR feedback * Rename diagnostics module to server logs * Add server logs shell feature * Make server logs shell options bindable * Accept read wildcard for server logs * Align server logs authorization with API patterns * Update CShells structure and logging levels, add diagnostics module * Rename PostgreSql shell feature classes for consistency * Switch from Sqlite to PostgreSQL for workflow and identity persistence, add QuartzPostgreSql configuration * Refactor server logs into diagnostics structured logs (#7440) * Specify diagnostics structured logs refactor * docs: clarify structured logs spec * docs: plan diagnostics structured logs * docs: add diagnostics structured logs tasks * refactor: rename server logs to diagnostics structured logs * Refactor PostgreSql persistence features to use centralized entity model handler registration. * Refactor EFCore persistence features to centralize entity model handler registration for MySql, Sqlite, and Oracle providers. * Integrate structured logs by renaming server logs, adjusting appsettings, and updating project references. * Switch from PostgreSQL to Sqlite for workflow and identity persistence, update appsettings configuration.
51 lines
1.8 KiB
Markdown
51 lines
1.8 KiB
Markdown
---
|
|
description: Auto-commit changes after a Spec Kit command completes
|
|
---
|
|
|
|
|
|
<!-- Extension: git -->
|
|
<!-- Config: .specify/extensions/git/ -->
|
|
# 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 |