.specify/extensions/git/README.md
Git repository initialization, feature branch creation, numbering (sequential/timestamp), validation, remote detection, and auto-commit for Spec Kit.
This extension provides Git operations as an optional, self-contained module. It manages:
001-feature-name) or timestamp (20260319-143022-feature-name) numbering| Command | Description |
|---|---|
speckit.git.initialize | Initialize a Git repository with a configurable commit message |
speckit.git.feature | Create a feature branch with sequential or timestamp numbering |
speckit.git.validate | Validate current branch follows feature branch naming conventions |
speckit.git.remote | Detect Git remote URL for GitHub integration |
speckit.git.commit | Auto-commit changes (configurable per-command enable/disable and messages) |
| Event | Command | Optional | Description |
|---|---|---|---|
before_constitution | speckit.git.initialize | No | Init git repo before constitution |
before_specify | speckit.git.feature | No | Create feature branch before specification |
before_clarify | speckit.git.commit | Yes | Commit outstanding changes before clarification |
before_plan | speckit.git.commit | Yes | Commit outstanding changes before planning |
before_tasks | speckit.git.commit | Yes | Commit outstanding changes before task generation |
before_implement | speckit.git.commit | Yes | Commit outstanding changes before implementation |
before_checklist | speckit.git.commit | Yes | Commit outstanding changes before checklist |
before_analyze | speckit.git.commit | Yes | Commit outstanding changes before analysis |
before_taskstoissues | speckit.git.commit | Yes | Commit outstanding changes before issue sync |
after_constitution | speckit.git.commit | Yes | Auto-commit after constitution update |
after_specify | speckit.git.commit | Yes | Auto-commit after specification |
after_clarify | speckit.git.commit | Yes | Auto-commit after clarification |
after_plan | speckit.git.commit | Yes | Auto-commit after planning |
after_tasks | speckit.git.commit | Yes | Auto-commit after task generation |
after_implement | speckit.git.commit | Yes | Auto-commit after implementation |
after_checklist | speckit.git.commit | Yes | Auto-commit after checklist |
after_analyze | speckit.git.commit | Yes | Auto-commit after analysis |
after_taskstoissues | speckit.git.commit | Yes | Auto-commit after issue sync |
Configuration is stored in .specify/extensions/git/git-config.yml:
# Branch numbering strategy: "sequential" or "timestamp"
branch_numbering: sequential
# Custom commit message for git init
init_commit_message: "[Spec Kit] Initial commit"
# Auto-commit per command (all disabled by default)
# Example: enable auto-commit after specify
auto_commit:
default: false
after_specify:
enabled: true
message: "[Spec Kit] Add specification"
# Install the bundled git extension (no network required)
specify extension add git
# Disable the git extension (spec creation continues without branching)
specify extension disable git
# Re-enable it
specify extension enable git
When Git is not installed or the directory is not a Git repository:
specs/The extension bundles cross-platform scripts:
scripts/bash/create-new-feature.sh — Bash implementationscripts/bash/git-common.sh — Shared Git utilities (Bash)scripts/powershell/create-new-feature.ps1 — PowerShell implementationscripts/powershell/git-common.ps1 — Shared Git utilities (PowerShell)