Skip to content

Choose a tag to compare

@github-actions github-actions released this 18 Mar 18:26
6d9a897

SpecSync Check

Bidirectional spec-to-code validation — keep module specs and source code in sync with CI-enforced contract checking. Written in Rust, language-agnostic, and blazing fast.

What it catches

  • Undocumented exports — code exports something not in the spec
  • Stale spec entries — spec documents something that doesn't exist in code
  • Missing files — source file referenced in spec was deleted
  • Phantom tables — DB table in spec doesn't exist in schema
  • Incomplete specs — required sections missing from spec

9 languages supported

TypeScript/JavaScript, Rust, Go, Python, Swift, Kotlin, Java, C#, and Dart. Language is auto-detected from file extensions.

Usage

- uses: CorvidLabs/spec-sync@v1
  with:
    strict: 'true'
    require-coverage: '100'

Inputs

Input Default Description
version latest SpecSync version to download
strict false Treat warnings as errors
require-coverage 0 Minimum file coverage percentage (0-100)
root . Project root directory
args '' Additional CLI arguments

Full workflow example

name: Spec Check
on: [push, pull_request]

jobs:
  specsync:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: CorvidLabs/spec-sync@v1
        with:
          strict: 'true'
          require-coverage: '100'

Cross-platform

The action auto-detects runner OS and architecture (Linux/macOS/Windows, x86_64/aarch64) and downloads the correct pre-built binary. No Rust toolchain required.

Also available as a CLI

cargo install specsync
specsync check --strict --require-coverage 100
specsync watch  # live validation during development

What's Changed

Full Changelog: v1.0.0...v1.1.0