mirror of
https://github.com/github/spec-kit.git
synced 2026-03-24 06:13:08 +00:00
- Fix bash common.sh sourcing: check .specify/scripts/bash/ first, then scripts/bash/, with explicit error if neither found - Fix PowerShell common.ps1 sourcing: use $fallbackRoot for reliable path resolution, with explicit error if not found - Remove undocumented branch_template and auto_fetch from extension.yml defaults and config-template.yml (scripts don't use them yet) - Remove unused ExtensionError import in _install_bundled_git_extension - Remove undocumented SPECKIT_GIT_BRANCH_NUMBERING env var from README - Fix specify.md: skip step 2 when before_specify hook already executed - Fix specify.md: add explicit FEATURE_DIR/SPEC_FILE in disabled-git path - Fix specify.md: add PowerShell path to script resolution - Add tests for git extension auto-install during specify init Co-authored-by: mnriem <15701806+mnriem@users.noreply.github.com> Agent-Logs-Url: https://github.com/github/spec-kit/sessions/008835a0-7778-40bb-bdb2-4182b22be315
2.2 KiB
2.2 KiB
Git Branching Workflow Extension
Feature branch creation, numbering (sequential/timestamp), validation, and Git remote detection for Spec Kit.
Overview
This extension provides Git branching operations as an optional, self-contained module. It manages:
- Feature branch creation with sequential (
001-feature-name) or timestamp (20260319-143022-feature-name) numbering - Branch validation to ensure branches follow naming conventions
- Git remote detection for GitHub integration (e.g., issue creation)
Commands
| Command | Description |
|---|---|
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 |
Hooks
| Event | Command | Optional | Description |
|---|---|---|---|
before_specify |
speckit.git.feature |
No | Create feature branch before specification |
after_implement |
speckit.git.validate |
Yes | Validate branch naming after implementation |
Configuration
Configuration is stored in .specify/extensions/git/git-config.yml:
# Branch numbering strategy: "sequential" or "timestamp"
branch_numbering: sequential
Installation
# Install from the bundled extension
specify extension add git --from extensions/git/
# Or it auto-installs during specify init (migration period)
Disabling
# Disable the git extension (spec creation continues without branching)
specify extension disable git
# Re-enable it
specify extension enable git
Graceful Degradation
When Git is not installed or the directory is not a Git repository:
- Spec directories are still created under
specs/ - Branch creation is skipped with a warning
- Branch validation is skipped with a warning
- Remote detection returns empty results
Scripts
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)