Skip to content

Latest commit

ย 

History

20 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

spec-kit Brownfield Extensions

Important

๐ŸŒฑ For Brownfield (Existing) Projects

This repository provides tools for existing projects to adopt spec-kit's Specification-Driven Development (SDD) workflow.

If you're starting a new project from scratch, use the standard specify init command instead.

Bootstrap your existing codebase into spec-kit's SDD workflow with automatic project analysis and customized template generation.

License: MIT

Repository Structure

This repository contains two independent components:

spec-kit-brownfield-extensions/
โ”œโ”€โ”€ extension/                   # spec-kit Extension
โ”‚   โ”œโ”€โ”€ extension.yml            # Extension manifest (id: brownfield-bootstrap)
โ”‚   โ”œโ”€โ”€ README.md                # Extension documentation
โ”‚   โ”œโ”€โ”€ AI-INSTALL-GUIDE.md      # AI installation instructions
โ”‚   โ”œโ”€โ”€ config-template.yml      # Configuration template
โ”‚   โ””โ”€โ”€ commands/
โ”‚       โ”œโ”€โ”€ init.md              # English bootstrap command
โ”‚       โ””โ”€โ”€ init-cn.md           # Chinese bootstrap command
โ”‚
โ””โ”€โ”€ skills/                      # Claude Code Skills
    โ”œโ”€โ”€ README.md                # Skills documentation
    โ”œโ”€โ”€ AI-INSTALL-GUIDE.md      # AI installation instructions
    โ”œโ”€โ”€ brownfield-skills/       # Developer expertise generator
    โ”‚   โ”œโ”€โ”€ SKILL.md
    โ”‚   โ””โ”€โ”€ references/
    โ”‚       โ”œโ”€โ”€ analysis-guide.md
    โ”‚       โ”œโ”€โ”€ templates.md
    โ”‚       โ””โ”€โ”€ templates-cn.md
    โ””โ”€โ”€ brownfield-ears/         # EARS requirements converter
        โ”œโ”€โ”€ SKILL.md
        โ””โ”€โ”€ references/
            โ”œโ”€โ”€ conversion-guide.md
            โ”œโ”€โ”€ document-template.md
            โ””โ”€โ”€ examples.md

Components Overview

Component Type Purpose
extension/ spec-kit Extension Bootstrap SDD workflow for existing projects
skills/brownfield-skills Claude Code Skill Generate senior developer expertise
skills/brownfield-ears Claude Code Skill Convert requirements to EARS format

๐Ÿ“Š Workflow Overview

This extension provides tools that extend the standard spec-kit SDD workflow for brownfield projects:

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                     Extended SDD Workflow for Brownfield Projects                โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                                                                  โ”‚
โ”‚   [Existing Project]                                                             โ”‚
โ”‚         โ”‚                                                                        โ”‚
โ”‚         โ–ผ                                                                        โ”‚
โ”‚   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”           โ”‚
โ”‚   โ”‚ /speckit.brownfield-        โ”‚     โ”‚ brownfield-skills           โ”‚           โ”‚
โ”‚   โ”‚ bootstrap.init              โ”‚     โ”‚ (Generate Developer Skills) โ”‚           โ”‚
โ”‚   โ”‚ (Bootstrap SDD Workflow)    โ”‚     โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜           โ”‚
โ”‚   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                                               โ”‚
โ”‚               โ”‚                                                                  โ”‚
โ”‚               โ–ผ                                                                  โ”‚
โ”‚   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”           โ”‚
โ”‚   โ”‚ User Requirements           โ”‚โ”€โ”€โ”€โ”€โ–ถโ”‚ brownfield-ears             โ”‚  Optional โ”‚
โ”‚   โ”‚ (Natural Language)          โ”‚     โ”‚ (EARS Format Conversion)    โ”‚  Pre-step โ”‚
โ”‚   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜     โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜           โ”‚
โ”‚                                                   โ”‚                              โ”‚
โ”‚                                                   โ–ผ                              โ”‚
โ”‚   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚
โ”‚   โ”‚                    Standard spec-kit SDD Workflow                        โ”‚   โ”‚
โ”‚   โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”              โ”‚   โ”‚
โ”‚   โ”‚  โ”‚ /speckit โ”‚โ”€โ”€โ–ถโ”‚ /speckit โ”‚โ”€โ”€โ–ถโ”‚ /speckit โ”‚โ”€โ”€โ–ถโ”‚ /speckit โ”‚              โ”‚   โ”‚
โ”‚   โ”‚  โ”‚ .specify โ”‚   โ”‚ .plan    โ”‚   โ”‚ .tasks   โ”‚   โ”‚.implementโ”‚              โ”‚   โ”‚
โ”‚   โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜              โ”‚   โ”‚
โ”‚   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚
โ”‚                                                                                  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Tools Provided

Tool Type Purpose When to Use
/speckit.brownfield-bootstrap.init Extension Command Initialize SDD for existing projects First time adopting spec-kit
brownfield-skills Skill Generate senior developer expertise Enable AI to master project conventions
brownfield-ears Skill Convert requirements to EARS format Before /speckit.specify for complex requirements

Quick Start

Install Extension

# Using spec-kit extension system
specify extension add --dev /path/to/spec-kit-brownfield-extensions/extension

# Or manually copy commands
cp extension/commands/init.md .claude/commands/speckit.brownfield-bootstrap.init.md
cp extension/commands/init-cn.md .claude/commands/speckit.brownfield-bootstrap.init-cn.md

Install Skills

mkdir -p .claude/skills
cp -r skills/brownfield-skills .claude/skills/
cp -r skills/brownfield-ears .claude/skills/

For AI Agents

See the AI installation guides:

Usage

1. Bootstrap Your Project

# Run the init command
/speckit.brownfield-bootstrap.init

# Or Chinese version
/speckit.brownfield-bootstrap.init-cn

2. Review Generated Files

File Path Description
Project Constitution .specify/memory/constitution.md Core principles and constraints
Spec Template .specify/templates/spec-template.md Feature specification template
Plan Template .specify/templates/plan-template.md Implementation plan template
Tasks Template .specify/templates/tasks-template.md Task breakdown template

3. Start SDD Workflow

/speckit.specify "Add user profile image upload"
/speckit.plan
/speckit.tasks
/speckit.implement

Command Reference

Command Description
/speckit.brownfield-bootstrap.init Initialize SDD for existing projects (English)
/speckit.brownfield-bootstrap.init-cn ๅˆๅง‹ๅŒ–ๆฃ•ๅœฐ้กน็›ฎ็š„SDDๅทฅไฝœๆต (Chinese)

Aliases (Backward Compatibility)

Old Name New Name
speckit.brownfield.bootstrap speckit.brownfield-bootstrap.init
speckit.brownfield.bootstrap-cn speckit.brownfield-bootstrap.init-cn

Key Features

๐Ÿ” Automatic Project Discovery

  • Scans project structure to identify tech stack, frameworks, and patterns
  • Recognizes common architectural patterns (MVC, Hexagonal, Microservices, etc.)
  • Extracts coding conventions from config files and code samples

๐Ÿ“‹ Multi-Module Project Support

  • Full support for Maven/Gradle multi-module projects
  • Node.js Monorepo with workspaces support
  • Go Workspace, Rust Workspace, Python Monorepo
  • Automatic module responsibility mapping and dependency analysis

๐Ÿงช TDD Enforcement

  • Built-in Test-Driven Development discipline
  • Red-Green-Refactor cycle embedded in all templates
  • Coverage requirements and verification checkpoints

๐Ÿ“ Correct Directory Structure

  • Ensures all files are generated in spec-kit compatible locations
  • Pre-output self-check list to prevent common path mistakes
  • Clear path reference standards

๐Ÿง  Developer Skills Generation

The brownfield-skills skill generates Project Skills that make Claude Code behave like a senior developer who has been maintaining your project for years.

.claude/skills/brownfield-developer-[project-name]/
โ”œโ”€โ”€ SKILL.md                    # Entry point
โ””โ”€โ”€ references/
    โ”œโ”€โ”€ architecture.md         # Architecture and layering
    โ”œโ”€โ”€ tech-stack.md           # Tech stack and versions
    โ”œโ”€โ”€ coding-conventions.md   # Coding standards
    โ”œโ”€โ”€ module-structure.md     # Module responsibilities
    โ””โ”€โ”€ development-patterns.md # Development patterns

๐Ÿ“ EARS Requirements Conversion

The brownfield-ears skill converts natural language requirements into EARS (Easy Approach to Requirements Syntax) format.

Pattern Template Example
Ubiquitous The system shall <function> The system shall encrypt all user passwords
Event-Driven When <trigger>, the system shall <response> When user clicks submit, the system shall validate input
State-Driven If <state>, then the system shall <behavior> If user is admin, then the system shall show admin panel

Compatibility

AI Agents

  • โœ… Claude Code (fully tested)
  • โœ… Cursor (tested)
  • โœ… GitHub Copilot (via instructions)
  • โœ… Windsurf (via project rules)

spec-kit Versions

  • โœ… spec-kit v0.1.0+
  • โœ… Fully compatible with core spec-kit workflows

Project Types

  • โœ… Single module projects
  • โœ… Multi-module Maven/Gradle projects
  • โœ… Node.js Monorepo (with workspaces)
  • โœ… Go Workspace, Rust Workspace, Python Monorepo

Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.

License

MIT License - See LICENSE for details.

Credits

Support

About

spec-kit Brownfield Bootstrap Extension

Resources

Contributing

Stars

29 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors