Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

SpecSync

Bidirectional spec-to-code validation. Written in Rust. Single binary. 11 languages. VS Code extension.

Get Started Why SpecSync? View on GitHub


The Problem

Specs reference functions that were renamed. Code exports things the spec doesn’t mention. Nobody notices until someone reads the docs and gets confused. SpecSync catches this automatically by validating *.spec.md files against actual source code — in both directions.

DirectionSeverity
Code exports something not in the specWarning
Spec documents something missing from codeError
Source file in spec was deletedError
DB table in spec missing from schemaError
Column in spec missing from migrationsError
Column in schema not documented in specWarning
Column type mismatch between spec and schemaWarning
Required section missingError

Quick Start

cargo install specsync          # or use the GitHub Action, or download a binary
specsync init                   # create .specsync/config.toml
specsync check                  # validate specs against code
specsync coverage               # see what's covered
specsync generate               # scaffold specs for unspecced modules
specsync generate --provider auto           # AI-powered specs (auto-detect provider)
specsync generate --provider anthropic      # use Anthropic API directly
specsync score                  # quality-score your specs (0–100)
specsync add-spec auth          # scaffold a single spec with companion files
specsync resolve --remote       # verify cross-project spec references
specsync init-registry          # publish your modules for other projects
specsync hooks install          # install agent instructions + git hooks
specsync mcp                    # start MCP server for AI agents
specsync watch                  # re-validate on file changes

Supported Languages

Auto-detected from file extensions. No per-language configuration.

TypeScript/JS, Rust, Go, Python, Swift, Kotlin, Java, C#, Dart, PHP, Ruby.

Learn More

New to SpecSync?Already using it?
Quick Start Guide — up and running in 5 minCLI Reference — all 14 commands
Why SpecSync? — comparison with alternativesConfiguration.specsync/config.toml options
Spec Format — how to write specsCross-Project Refs — multi-repo validation
Workflow Guide — full lifecycleAI Agents — MCP server + AI generation
Architecture — how it worksVS Code Extension — editor integration