A CLI tool for initializing specification-driven development projects with flexible, production-ready structures.
# Install globally
npm install -g specpilot
# Create a new project
specpilot init my-project --lang typescript --framework react
# Add specs to existing project
cd existing-project
specpilot add-specs
# Validate specifications
specpilot validateAfter creating a project, follow these steps to populate your specifications using AI:
- Open the generated guide: Check
.specs/README.mdfor full guidance - Copy the onboarding prompt: Use the prompt from
.specs/development/prompts.md - Paste into your AI agent: ChatGPT, Claude, or other AI assistants
- Review generated spec files: Examine the AI-generated requirements and architecture
This AI-assisted approach ensures comprehensive, high-quality specifications tailored to your project needs.
| Command | Description |
|---|---|
init <name> |
Initialize new SDD project |
add-specs |
Add specs to existing project |
validate |
Validate specification files |
list |
Show available templates |
migrate |
Migrate between spec versions |
specify <desc> |
Update project specifications |
# Initialize with specific language/framework
specpilot init api --lang python --framework fastapi
# Update specifications
specpilot specify "REST API for user management" --update
# Validate with auto-fix
specpilot validate --fix- React: SPA applications
- Express: REST APIs
- Next.js: Full-stack apps
- CLI: Command-line tools
- React: SPA applications
- Express: REST APIs
- Next.js: Full-stack apps
- CLI: Command-line tools
- FastAPI: Modern REST APIs
- Django: Full-stack applications
- Data Science: ML/Data Science projects
SpecPilot generates a .specs/ folder with organized subdirectories:
.specs/
βββ project/ # Project config & requirements
βββ architecture/ # System design & API specs
βββ planning/ # Roadmap & task tracking
βββ quality/ # Testing & documentation
βββ development/ # AI prompts & context
project.yaml: Project configuration and rulesrequirements.md: Functional/non-functional requirementsarchitecture.md: System architecture decisionsprompts.md: AI interaction tracking (MANDATED)tasks.md: Task management (backlog/sprint/completed)
SpecPilot requires no global configuration. Each project is self-contained with settings in project.yaml.
SpecPilot generates AI agent configuration files during project initialization. When you run specpilot init, you'll be prompted to select your AI IDE/Agent:
Desktop IDEs (Workspace Settings):
- VSCode - Industry standard with Copilot integration
- Cursor - AI-first code editor with enhanced AI context
- Windsurf - Advanced AI coding assistant
- Kiro - Specialized AI development environment
- Antigravity - AI-powered IDE with context awareness
Cloud-Based AI Agents (Instruction Files):
- Cowork - Anthropic Claude agent with Skills framework
- Codex - OpenAI Codex agent with instruction context
Generated Configuration Files:
For desktop IDEs: .vscode/settings.json (or .cursor/, .windsurf/, etc.)
- IDE-specific workspace folder setup for code + .specs
- Extensions recommendations for development
- AI context configuration for better spec integration
For cloud agents:
- Cowork:
.claude/skills/specpilot-project/SKILL.mdwith project context and development guidelines - Codex:
CODEX_INSTRUCTIONS.mdat project root with architecture overview and mandates
The generated settings/instructions automatically configure your AI agent to:
- Include
.specs/folder in AI context - Understand project structure and requirements
- Follow specification-driven development principles
- Access development guidelines and onboarding prompts
Example:
# During init, you'll be prompted to select your IDE/Agent
specpilot init my-project --lang typescript --framework react
# Respond with your preferred IDE/Agent:
# - vscode, cursor, windsurf, kiro, antigravity (desktop)
# - cowork, codex (cloud agents)sudo chown -R $USER ~/.npm-global
npm config set prefix '~/.npm-global'specpilot list --verbosespecpilot validate --verbose --fixError: "Source structure 'complex' not found"
# For NEW projects, use:
specpilot init my-project
# For EXISTING projects without specs:
specpilot add-specs
# Only use migrate if you have an old .project-spec folder
specpilot migrate --from complex --to simple --backupDEBUG=specpilot specpilot <command>SpecPilot implements Specification-Driven Development (SDD) where specifications come first:
Specifications β Architecture β Code β Tests β Deployment
Benefits:
- Clarity: Everyone understands what needs to be built
- Consistency: Standardized structure across projects
- Quality: Built-in validation and testing
- AI-Ready: Clear context for AI assistants
- Maintainable: Comprehensive documentation
This project follows SDD principles. See .specs/ for contribution guidelines.
git clone https://github.com/girishr/SpecPilot.git
cd SpecPilot
npm install
npm run build
npm link # For local testing- Review
.specs/project/requirements.md - Check
.specs/planning/tasks.md - Update specs when making changes
- Run
specpilot validatebefore committing
- Full Guide: Comprehensive documentation
- CHANGELOG: Version history
- Issues: Bug reports & feature requests
MIT License - see LICENSE file for details.
Built with specification-driven development principles for serious production projects.