SpecSync

Bidirectional spec-to-code validation. Written in Rust. Single binary. 9 languages.

Get Started 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.

Direction Severity
Code exports something not in the spec Warning
Spec documents something missing from code Error
Source file in spec was deleted Error
DB table in spec missing from schema Error
Required section missing Error

Quick Start

cargo install specsync          # or use the GitHub Action, or download a binary
specsync init                   # create specsync.json
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 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.

See Spec Format for how to write specs, CLI Reference for all commands, and Configuration for specsync.json options.