npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

specpilot

v1.6.7

Published

A CLI tool for initializing specification-driven development projects with flexible, production-ready structures.

Readme

SpecPilot

npm version License: MIT

A CLI tool for initializing specification-driven development projects with flexible, production-ready structures.

Quick Start

# 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 validate

🚀 Next Steps to Populate Your Specs with AI

After creating a project, follow these steps to populate your specifications using AI:

  1. Open the generated guide: Check .specs/README.md for full guidance
  2. Copy the onboarding prompt: Use the prompt from .specs/development/prompts.md
  3. Paste into your AI agent: ChatGPT, Claude, or other AI assistants
  4. 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.

Commands

| Command | Description | | ----------------------- | --------------------------------------------------- | | init <name> | Initialize new SDD project | | init <name> --dry-run | Preview files that would be created without writing | | add-specs | Add specs to existing project | | validate | Validate specification files | | archive | Archive oversized prompts.md / tasks.md entries | | backfill | Backfill missing mandates into existing project files | | list | Show available templates | | migrate | Convert legacy .project-spec folder (rarely needed) | | refine [desc] | Refine project specifications |

Tip — command aliases: All commands have a short alias you can use instead of the full name. initi  ·  validatev  ·  migratem  ·  listls  ·  refineref  ·  archivear  ·  add-specsadd  ·  backfillbf Example: specpilot i my-app is identical to specpilot init my-app.

Per-Command Options

| Command | Options | | ----------- | ----------------------------------------------------------------------------------- | | init | --lang · --framework · --dir · --specs-name · --no-prompts · --dry-run | | validate | --fix · --verbose | | migrate | --from · --to · --backup | | list | --lang · --verbose | | refine | --update · --no-prompts | | archive | --dry-run | | add-specs | --no-analysis · --deep-analysis · --no-prompts | | backfill | --dir · --specs-name · --dry-run |

Run specpilot <command> --help for full flag descriptions and default values.

Examples

# Initialize with specific language/framework
specpilot init api --lang python --framework fastapi

# Preview files that would be created without writing anything
specpilot init api --dry-run

# Refine specifications
specpilot refine "REST API for user management" --update

# Validate with auto-fix
specpilot validate --fix

Supported Languages & Frameworks

TypeScript

  • React: SPA applications
  • Express: REST APIs
  • Next.js: Full-stack apps
  • Nest.js: Scalable server-side apps
  • Vue: Progressive UI framework
  • Angular: Enterprise SPA framework

JavaScript

  • React: SPA applications
  • Express: REST APIs

Note: no framework prompt is shown for JavaScript — pass --framework explicitly if needed.

Python

  • FastAPI: Modern REST APIs
  • Django: Full-stack applications
  • Flask: Lightweight REST APIs
  • Streamlit: Data Science / ML apps

Project Structure

SpecPilot generates a .specs/ folder with organized subdirectories:

.specs/
├── architecture/
│   ├── api.yaml              # CLI / REST API / GraphQL interface spec
│   └── architecture.md       # System design decisions and patterns
├── development/
│   ├── context.md            # Development memory, decisions, learnings
│   ├── docs.md               # Dev guidelines, spec conventions, checklist
│   └── prompts.md            # AI interaction log — MANDATED, update every session
├── planning/
│   ├── roadmap.md            # Release milestones and objectives
│   └── tasks.md              # Sprint tracker (backlog / current / completed)
├── project/
│   ├── project.yaml          # Project config, rules, and AI context (MANDATED)
│   └── requirements.md       # Functional & non-functional requirements
├── quality/
│   └── tests.md              # Test strategy, coverage targets, acceptance criteria
└── security/
    ├── security-decisions.md # ADR-style security design decisions
    └── threat-model.md       # Threat inventory with impact/likelihood/mitigation

Also generated at project root: .github/copilot-instructions.md (AI mandate enforcement)

Configuration

SpecPilot requires no global configuration. Each project is self-contained with settings in project.yaml.

IDE & Agent Support

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
  • 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 all IDE/Agent selections: .github/copilot-instructions.md

  • Critical mandates injected into every AI request automatically
  • Read on every interaction by GitHub Copilot, Cursor, and most AI tools
  • Contains project name/stack, 5 critical mandates, and a Re-Anchor Prompt reference

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.md with project context and development guidelines
  • Codex: CODEX_INSTRUCTIONS.md at 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, antigravity (desktop)
# - cowork, codex (cloud agents)

Troubleshooting

Common Issues

Permission Errors

sudo chown -R $USER ~/.npm-global
npm config set prefix '~/.npm-global'

Template Not Found

specpilot list --verbose

Validation Failures

specpilot validate --verbose --fix

Migration Issues

Error: "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 --backup

Debug Mode

DEBUG=specpilot specpilot <command>

Why SpecPilot?

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

Contributing

This project follows SDD principles. See .specs/ for contribution guidelines.

Development Setup

git clone https://github.com/girishr/SpecPilot.git
cd SpecPilot
npm install
npm run build
npm link  # For local testing

Quick Contribution Guide

  1. Review .specs/project/requirements.md
  2. Check .specs/planning/tasks.md
  3. Update specs when making changes
  4. Run specpilot validate before committing

Documentation

License

MIT License - see LICENSE file for details.


Built with specification-driven development principles for serious production projects.