Files
spec-kit/extensions/git
copilot-swe-agent[bot] a5466f08de fix: quiet git checkout in JSON mode and clarify registry check logic
1. Use `git checkout -q -b` with stdout redirect to prevent status
   messages from contaminating JSON output in create-new-feature.sh
2. Clarify specify.md registry check: only skip branching when
   extensions.git.enabled is present and explicitly false; proceed
   normally in all other cases (missing registry, missing entry, etc.)

Co-authored-by: mnriem <15701806+mnriem@users.noreply.github.com>
Agent-Logs-Url: https://github.com/github/spec-kit/sessions/67a6414f-e8ce-4455-95e5-299c72d86624
2026-03-23 22:31:01 +00:00
..

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 directory
specify extension add extensions/git --dev

# 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 implementation
  • scripts/bash/git-common.sh — Shared Git utilities (Bash)
  • scripts/powershell/create-new-feature.ps1 — PowerShell implementation
  • scripts/powershell/git-common.ps1 — Shared Git utilities (PowerShell)