Skip to main content

Installation tool for spec-kit-extensions that works alongside specify init

Project description

spec-kit-extensions

11 production-tested workflows that extend spec-kit to cover the complete software development lifecycle.

License: MIT

What Is This?

spec-kit provides structured workflows for feature development (/speckit.specify → /speckit.plan → /speckit.tasks → /speckit.implement). These extensions add 11 additional workflows for the remaining ~75% of software development work:

Workflow Extensions (full spec-kit workflow with branch, specs, and templates)

  • /speckit.workflows.bugfix - Fix bugs with regression-test-first approach
  • /speckit.workflows.hotfix - Handle production emergencies with expedited process
  • /speckit.workflows.enhance - Make minor enhancements with streamlined single-doc workflow
  • /speckit.workflows.refactor - Improve code quality with metrics tracking
  • /speckit.workflows.deprecate - Sunset features with phased 3-step rollout
  • /speckit.workflows.modify - Modify existing features with automatic impact analysis
  • /speckit.workflows.baseline - Establish project baseline and track all changes
  • /speckit.workflows.cleanup - Validate and reorganize spec-kit artifacts

Command Extensions (provide commands without workflow structure)

  • /speckit.workflows.review - Review completed work with structured feedback
  • /speckit.workflows.phasestoissues - Create individual GitHub issues for each development phase
  • /speckit.workflows.incorporate - Incorporate documents into workflows

Note: All commands also have short aliases (e.g., /speckit.bugfix instead of /speckit.workflows.bugfix).

Why Use These Extensions?

The Problem

With vanilla spec-kit, you get structure for ~25% of your work (new features), but the remaining 75% happens ad-hoc:

  • Bugs: No systematic approach → regressions happen
  • Feature changes: No impact analysis → breaking changes
  • Code quality: No metrics → unclear if refactor helped
  • Emergencies: No process → panic-driven development
  • Feature removal: No plan → angry users

The Solution

These extensions bring spec-kit's structured approach to all development activities:

Activity Without Extensions With Extensions
New Feature /speckit.specify workflow Same
Project Baseline Ad-hoc /speckit.workflows.baseline with comprehensive docs
Bug Fix Ad-hoc /speckit.workflows.bugfix with regression tests
Minor Enhancement Ad-hoc /speckit.workflows.enhance with streamlined planning
Modify Feature Ad-hoc /speckit.workflows.modify with impact analysis
Refactor Code Ad-hoc /speckit.workflows.refactor with metrics
Production Fire Panic /speckit.workflows.hotfix with post-mortem
Remove Feature Hope /speckit.workflows.deprecate with 3-phase sunset
Codebase Cleanup Manual /speckit.workflows.cleanup with automation
Work Review Inconsistent /speckit.workflows.review with structured feedback
GitHub Issues Manual /speckit.workflows.phasestoissues with phase-level tracking

Quick Start

Prerequisites

  • spec-kit installed from source (github.com/github/spec-kit) — requires version with extension support (v0.2.0+)
  • AI coding agent (Claude Code, GitHub Copilot, Gemini CLI, Cursor, etc.)
  • Git repository

Installation

Step 1: Initialize spec-kit (if not already done):

specify init --here --ai claude

Step 2: Install extensions (recommended):

# Install the CLI tool
pip install specify-extend
# or: uvx specify-extend --all

# Install all extensions
specify-extend --all

specify-extend --all is the recommended installation method until spec-kit natively supports alternate feature branch patterns (bugfix/, hotfix/, etc.). It:

  1. Downloads and installs the extension via specify extension add
  2. Patches spec-kit's common.sh to recognize extension branch patterns

Alternative: Native spec-kit install (advanced — does not patch branch patterns):

# Install extension only (no branch pattern support)
specify extension add workflows --from https://github.com/pradeepmouli/spec-kit-extensions/archive/refs/heads/main.zip

# Then manually patch branch patterns
specify-extend --patch

Verify Installation

# Check extension is installed
specify extension list

# Should show:
#   Spec Kit Workflow Extensions (v3.2.0)
#   Commands: 11 | Status: Enabled

# Try a command:
/speckit.workflows.bugfix "test bug"
# Or use the alias:
/speckit.bugfix "test bug"

Post-Installation Structure

After installation, your project will have:

your-project/
├── .specify/
│   ├── extensions/
│   │   └── workflows/           # Extension install directory
│   │       ├── extension.yml    # Extension manifest
│   │       ├── commands/        # 11 command files
│   │       │   ├── bugfix.md
│   │       │   ├── hotfix.md
│   │       │   └── ...
│   │       ├── scripts/
│   │       │   ├── bash/        # Bash create scripts + utils
│   │       │   └── powershell/  # PowerShell create scripts
│   │       └── templates/       # Workflow templates
│   │           ├── bugfix/
│   │           ├── hotfix/
│   │           └── ...
│   ├── scripts/bash/
│   │   └── common.sh            # Patched with extension branch support
│   └── memory/
│       └── constitution.md
└── .claude/commands/             # Agent-specific command files (auto-generated)

Usage

Quick Decision Tree

Starting with spec-kit?
└─ Use /speckit.workflows.baseline to establish project context

Building something new?
├─ Major feature → /speckit.specify "description"
└─ Minor enhancement → /speckit.workflows.enhance "description"

Fixing broken behavior?
├─ Production emergency → /speckit.workflows.hotfix "incident"
└─ Non-urgent bug → /speckit.workflows.bugfix "bug description"

Changing existing feature?
├─ Adding/modifying behavior → /speckit.workflows.modify 014 "change"
└─ Improving code quality → /speckit.workflows.refactor "improvement"

Removing a feature?
└─ /speckit.workflows.deprecate 014 "reason"

Reviewing completed work?
└─ /speckit.workflows.review [task-id]

Creating GitHub issues?
└─ /speckit.workflows.phasestoissues

Example: Fix a Bug

# Step 1: Create bug report
/speckit.workflows.bugfix "profile form crashes when submitting without image"
# Creates: bug-report.md with initial analysis

# Step 2: Investigate and update bug-report.md with root cause

# Step 3: Create fix plan
/speckit.plan

# Step 4: Break down into tasks
/speckit.tasks

# Step 5: Execute fix
/speckit.implement

Example: Modify Existing Feature

# Step 1: Create modification spec with impact analysis
/speckit.workflows.modify 014 "make profile fields optional"
# Creates: modification-spec.md + impact-analysis.md

# Step 2: Review impact analysis

# Step 3-5: Plan, tasks, implement (same as above)

Workflow Cheat Sheet

Workflow Command Alias Key Feature
Feature /speckit.specify "..." Full spec + design
Baseline /speckit.workflows.baseline /speckit.baseline Context tracking
Bugfix /speckit.workflows.bugfix "..." /speckit.bugfix Regression test
Enhance /speckit.workflows.enhance "..." /speckit.enhance Single-doc workflow
Modify /speckit.workflows.modify 014 "..." /speckit.modify Impact analysis
Refactor /speckit.workflows.refactor "..." /speckit.refactor Baseline metrics
Hotfix /speckit.workflows.hotfix "..." /speckit.hotfix Post-mortem
Deprecate /speckit.workflows.deprecate 014 "..." /speckit.deprecate 3-phase sunset
Cleanup /speckit.workflows.cleanup /speckit.cleanup Automated validation
Review /speckit.workflows.review /speckit.review Structured feedback
Phases→Issues /speckit.workflows.phasestoissues /speckit.phasestoissues GitHub integration
Incorporate /speckit.workflows.incorporate /speckit.incorporate Doc integration

Compatibility

spec-kit Versions

  • Required: spec-kit v0.3.1+ (with extension system support)
  • Install from source: uv tool install specify-cli --from "git+https://github.com/github/spec-kit.git"

AI Agents

Commands are registered by spec-kit's extension system and work with any supported agent:

Agent Status
Claude Code Supported
GitHub Copilot Supported
Cursor Supported
Windsurf Supported
Gemini CLI Supported
Codex CLI Supported
Amazon Q Developer CLI Supported

Component Versions

  • Extension (v3.2.0) — Workflows, commands, templates, and scripts
  • CLI Tool (v2.2.1) — specify-extend installation and patching tool

FAQ

Do I need to use all 11 workflows?

No! Use only what you need. Common combinations:

  • Minimal: Just bugfix (most teams need this)
  • Standard: bugfix + enhance + modify (covers most scenarios)
  • Complete: All 11 workflows (full lifecycle coverage)

Why use specify-extend --all instead of specify extension add?

specify-extend --all additionally patches spec-kit's common.sh to support extension branch patterns (bugfix/, hotfix/, refactor/, etc.). Without this patch, spec-kit's branch validation will reject these branch names. Once spec-kit natively supports alternate branch patterns, specify extension add alone will be sufficient.

Can I customize the workflows?

Yes! After installation, all files are in .specify/extensions/workflows/. Edit templates, commands, or scripts to suit your needs.

Do these work without Claude Code?

Yes! The workflows are agent-agnostic. They work with any AI agent that supports spec-kit.

Contributing

We welcome contributions! See CONTRIBUTING.md for details.

License

MIT License — Same as spec-kit. See LICENSE.

Credits

Built for the spec-kit community by developers who wanted structured workflows for more than just new features.

Support

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

specify_extend-2.2.1.tar.gz (374.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

specify_extend-2.2.1-py3-none-any.whl (34.6 kB view details)

Uploaded Python 3

File details

Details for the file specify_extend-2.2.1.tar.gz.

File metadata

  • Download URL: specify_extend-2.2.1.tar.gz
  • Upload date:
  • Size: 374.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for specify_extend-2.2.1.tar.gz
Algorithm Hash digest
SHA256 03f3d4a41eed3c88723acb12c778d572b2952c48968b2b256139ddc24bf94182
MD5 3fb036a97a2e336630b7fef774b1f825
BLAKE2b-256 90966e981c3271a6ef09b954c44333b2628f1c63c1d11483cfbfe00c6af8ea0e

See more details on using hashes here.

File details

Details for the file specify_extend-2.2.1-py3-none-any.whl.

File metadata

  • Download URL: specify_extend-2.2.1-py3-none-any.whl
  • Upload date:
  • Size: 34.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for specify_extend-2.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5a47fbfa913a40e9182adc607329ee0a83aadcffa5fd2fd2018d807367d6a5ce
MD5 fc5a54b289bdc2e07d8f445806b44b7f
BLAKE2b-256 b2b1314a85b466fafd3f10c63429889e7419f651185acb60ac23fd36b53203f4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page