Skip to main content

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

Project description

๐Ÿ‘‰ Claude Code users: Visit github.com/MartyBonacci/specswarm for the best experience

Using other AI tools? Continue with this repository - it's designed to work universally across AI coding assistants. Note that our development focus is shifting to SpecSwarm for Claude Code.

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

License: MIT

What Is This?

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

  • /speckit.bugfix - Fix bugs with regression-test-first approach
  • /speckit.modify - Modify existing features with automatic impact analysis
  • /speckit.refactor - Improve code quality with metrics tracking
  • /speckit.hotfix - Handle production emergencies with expedited process
  • /speckit.deprecate - Sunset features with phased 3-step rollout

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
Bug Fix โŒ Ad-hoc โœ… /speckit.bugfix with regression tests
Modify Feature โŒ Ad-hoc โœ… /speckit.modify with impact analysis
Refactor Code โŒ Ad-hoc โœ… /speckit.refactor with metrics
Production Fire โŒ Panic โœ… /speckit.hotfix with post-mortem
Remove Feature โŒ Hope โœ… /speckit.deprecate with 3-phase sunset

Real-World Validation

These workflows are production-tested on a React Router v7 Twitter clone ("Tweeter") with:

  • โœ… 14 features implemented
  • โœ… 3 modifications (with impact analysis that caught dependencies)
  • โœ… 2 bugfixes (regression tests prevented recurrence)
  • โœ… 1 refactor (metrics showed 15% code duplication reduction)
  • โœ… 100% build success rate across all workflows

See EXAMPLES.md for detailed real-world examples.

Quick Start

Prerequisites

  • spec-kit installed (installation guide)
  • AI coding agent (Claude Code, GitHub Copilot, Gemini CLI, Cursor, etc.)
  • Git repository with .specify/ directory

Installation

Recommended: Use specify-extend (Automatic)

# 1. Initialize spec-kit in your project
cd your-project
specify init .

# 2. Install specify-extend tool from PyPI
pip install specify-extend

# Or use with uvx (no installation needed)
uvx specify-extend --all

# Or run directly with Python
python -m specify_extend --all

# 3. Install extensions (auto-detects your agent)
specify-extend --all

# Or install specific extensions
specify-extend bugfix modify refactor

The specify-extend tool automatically:

  • โœ… Downloads latest extensions from GitHub
  • โœ… Detects your AI agent (Claude, Gemini, Copilot, Cursor, Qwen, opencode, Codex, Amazon Q, etc.)
  • โœ… Installs extensions matching your setup
  • โœ… Configures agent-specific commands
  • โœ… Updates constitution with quality gates

Optional: LLM-Enhanced Constitution Updates

For intelligent merging of quality gates into your existing constitution (instead of simple appending):

specify-extend --all --llm-enhance

This creates a one-time prompt that uses your AI agent to intelligently merge quality gates while preserving your constitution's style and structure. The prompt/command includes instructions to delete itself after use.

GitHub Copilot: Reference .github/prompts/speckit.enhance-constitution.md in Copilot Chat (also creates matching agent file) Other agents: Run /speckit.enhance-constitution

See specify-extend documentation for details.

Alternative: Manual Installation

If you prefer manual installation or need more control:

Option 1: Copy into Existing Project

# Clone this repo
git clone https://github.com/pradeepmouli/spec-kit-extensions.git /tmp/extensions

# Copy files into your project
cd your-project
cp -r /tmp/extensions/extensions/* .specify/extensions/
cp -r /tmp/extensions/scripts/* .specify/scripts/bash/
cp -r /tmp/extensions/commands/* .claude/commands/

# Merge constitution sections
cat /tmp/extensions/docs/constitution-template.md >> .specify/memory/constitution.md

# Clean up
rm -rf /tmp/extensions

Option 2: Git Submodule (Team Projects)

cd your-project
git submodule add https://github.com/pradeepmouli/spec-kit-extensions.git .specify/extensions-source
# Create symlinks per INSTALLATION.md

See INSTALLATION.md for detailed manual installation instructions.

Verify Installation

# In your project, try:
/speckit.bugfix --help

# Should see:
# Usage: /speckit.bugfix "bug description"
# Creates a bugfix workflow with regression-test-first approach

Usage

Quick Decision Tree

What are you doing?

Building something new?
โ””โ”€ Use `/speckit.specify "description"`

Fixing broken behavior?
โ”œโ”€ Production emergency?
โ”‚  โ””โ”€ Use `/speckit.hotfix "incident description"`
โ””โ”€ Non-urgent bug?
   โ””โ”€ Use `/speckit.bugfix "bug description"`

Changing existing feature?
โ”œโ”€ Adding/modifying behavior?
โ”‚  โ””โ”€ Use `/speckit.modify 014 "change description"`
โ””โ”€ Improving code without changing behavior?
   โ””โ”€ Use `/speckit.refactor "improvement description"`

Removing a feature?
โ””โ”€ Use `/speckit.deprecate 014 "deprecation reason"`

Example: Fix a Bug

# Step 1: Create bug report
/speckit.bugfix "profile form crashes when submitting without image upload"
# Creates: bug-report.md with initial analysis
# Shows: Next steps to review and investigate

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

# Step 3: Create fix plan
/speckit.plan
# Creates: Detailed fix plan with regression test strategy

# Step 4: Break down into tasks
/speckit.tasks
# Creates: Task list (reproduce, write regression test, fix, verify)

# Step 5: Execute fix
/speckit.implement
# Runs all tasks including regression-test-first approach

Example: Modify Existing Feature

# Step 1: Create modification spec with impact analysis
/speckit.modify 014 "make profile fields optional instead of required"
# Creates: modification-spec.md + impact-analysis.md
# Shows: Impact summary and next steps

# Step 2: Review modification spec and impact analysis
# - Check affected files and contracts
# - Assess backward compatibility
# - Refine requirements if needed

# Step 3: Create implementation plan
/speckit.plan
# Creates: Detailed plan for implementing changes

# Step 4: Break down into tasks
/speckit.tasks
# Creates: Task list (update contracts, update tests, implement)

# Step 5: Execute changes
/speckit.implement
# Runs all tasks in correct order

Workflow Cheat Sheet

Workflow Command Key Feature Test Strategy
Feature /speckit.specify "..." Full spec + design TDD (test before code)
Bugfix /speckit.bugfix "..." Regression test Test before fix
Modify /speckit.modify 014 "..." Impact analysis Update affected tests
Refactor /speckit.refactor "..." Baseline metrics Tests unchanged
Hotfix /speckit.hotfix "..." Post-mortem Test after (only exception)
Deprecate /speckit.deprecate 014 "..." 3-phase sunset Remove tests last

Documentation

Compatibility

AI Agents

These extensions work with any AI agent that supports spec-kit:

  • โœ… Claude Code (fully tested, native commands)
  • โœ… GitHub Copilot (via .github/copilot-instructions.md)
  • โœ… Cursor (via .cursorrules)
  • โœ… Windsurf (via project rules)
  • โœ… Gemini CLI (via specify CLI)
  • โœ… Other CLI tools (Qwen, opencode, Codex)
  • โœ… Any AI agent (universal fallback via bash scripts)

See AI-AGENTS.md for detailed setup guides for each agent.

spec-kit Versions

  • โœ… spec-kit v0.0.80+ (includes VS Code agent config support with handoffs)
  • โœ… spec-kit v0.0.18+ (updated for new /speckit. prefix)
  • โœ… Fully compatible with core spec-kit workflows
  • โœ… Non-breaking (can be added/removed without affecting existing features)
  • โš ๏ธ Breaking change from v0.0.17: All commands now use /speckit. prefix

Component Versions

This project has two independently versioned components:

  • Extension Templates (v2.1.1) - Workflow templates, commands, and scripts
  • CLI Tool (v1.0.1) - specify-extend installation tool
    • Check version with specify-extend --version
    • See CHANGELOG.md for CLI version history

Both components are released together but versioned separately to allow independent updates.

Project Structure

After installation, your project will have:

your-project/
โ”œโ”€โ”€ .specify/
โ”‚   โ”œโ”€โ”€ extensions/              # Extension workflows
โ”‚   โ”‚   โ”œโ”€โ”€ README.md
โ”‚   โ”‚   โ”œโ”€โ”€ QUICKSTART.md
โ”‚   โ”‚   โ”œโ”€โ”€ enabled.conf         # Enable/disable workflows
โ”‚   โ”‚   โ””โ”€โ”€ workflows/
โ”‚   โ”‚       โ”œโ”€โ”€ bugfix/
โ”‚   โ”‚       โ”œโ”€โ”€ modify/
โ”‚   โ”‚       โ”œโ”€โ”€ refactor/
โ”‚   โ”‚       โ”œโ”€โ”€ hotfix/
โ”‚   โ”‚       โ””โ”€โ”€ deprecate/
โ”‚   โ”œโ”€โ”€ scripts/bash/
โ”‚   โ”‚   โ”œโ”€โ”€ create-bugfix.sh     # Extension scripts
โ”‚   โ”‚   โ”œโ”€โ”€ create-modification.sh
โ”‚   โ”‚   โ”œโ”€โ”€ create-refactor.sh
โ”‚   โ”‚   โ”œโ”€โ”€ create-hotfix.sh
โ”‚   โ”‚   โ””โ”€โ”€ create-deprecate.sh
โ”‚   โ””โ”€โ”€ memory/
โ”‚       โ””โ”€โ”€ constitution.md      # Updated with workflow quality gates
โ””โ”€โ”€ .claude/commands/            # If using Claude Code
    โ”œโ”€โ”€ bugfix.md
    โ”œโ”€โ”€ modify.md
    โ”œโ”€โ”€ refactor.md
    โ”œโ”€โ”€ hotfix.md
    โ””โ”€โ”€ deprecate.md

FAQ

Do I need to use all 5 workflows?

No! Enable only what you need via .specify/extensions/enabled.conf. Common combinations:

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

Can I customize the workflows?

Yes! See Extension Development Guide for creating custom workflows or modifying existing ones.

What if I pick the wrong workflow?

No problem! Create the correct workflow and copy your work over. The worst case is having the wrong template.

Do these work without Claude Code?

Yes! The workflows are agent-agnostic. They work with any AI agent that supports spec-kit, or even manually if you prefer following the templates yourself.

Will these be contributed to spec-kit?

That's the plan! We've opened an issue proposing these extensions be incorporated upstream. Until then, use this repo.

Contributing

We welcome contributions! See CONTRIBUTING.md for:

  • Bug reports
  • Feature requests
  • New workflow ideas
  • Documentation improvements
  • Real-world usage examples

License

MIT License - Same as spec-kit

See LICENSE for details.

Credits

Built with โค๏ธ for the spec-kit community by developers who wanted structured workflows for more than just new features.

Special Thanks:

  • GitHub spec-kit team for the foundation
  • Anthropic Claude Code team for excellent AI agent integration
  • Early adopters who tested these workflows in production

Support


Ready to try it? โ†’ Installation Guide โ†’ 5-Minute Tutorial

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-1.1.1.tar.gz (99.1 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-1.1.1-py3-none-any.whl (16.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for specify_extend-1.1.1.tar.gz
Algorithm Hash digest
SHA256 8a70e52c82ebf0b711a68590ac0b6a7597a6701a50ab8e9d6d128b1a534c34b5
MD5 00426727ec0644c51fcbc8e6f97bb440
BLAKE2b-256 4d39b810cf13f754ba001308d02757e45327f73fdbc2cdde6d2af5b683d0100f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: specify_extend-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 16.9 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-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6954f61050c4cf57f0d2d3d727426cd40542a0546cbc83c4c1b6d3fa3bbcbba0
MD5 a18042210502ed6c4515527d88603140
BLAKE2b-256 d413551a3cb9b8d0ebe5b11f212c13212816522aa78ce6cee5453b9cded3cfb2

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