Skip to content

Current Stable Surface

This document describes the parts of Specra that are considered stable enough to build on right now.

Stable today

  • npm package name: specra-lang
  • installed CLI command: specra-lang
  • The first public release target and versioning baseline (0.1.0)
  • The .scl.md fenced-block structure and legacy .scl compatibility
  • entity, operation, expectation, constraint, and target statements
  • Parser and validator behavior for the currently documented syntax
  • Normalized semantic model generation
  • Compact runtime artifact generation
  • Verification plan generation
  • Verification of observed results against expectations
  • SQLite-backed local state indexing
  • Nx-based monorepo workflow
  • Changesets-based versioning and changelog workflow

Stable CLI commands

  • specra-lang init [project-dir] [--template clean|hello-world] [--target codex,claude,opencode] [--yes]
  • specra-lang install [--target codex,claude,opencode|all] [--location local|global]
  • specra-lang uninstall [--target codex,claude,opencode|all] [--location local|global]
  • specra-lang guide
  • specra-lang inspect <file.scl.md|file.scl|folder>
  • specra-lang check <file.scl.md|file.scl|folder>
  • specra-lang refresh <file.scl.md|file.scl|folder> [--out <folder>]
  • specra-lang proof <file.scl.md|file.scl|folder> [--out <folder>]
  • specra-lang verify <file.scl.md|file.scl|folder> [--results <proof.json>]

Stable generated artifacts

  • .specra/ctx.json
  • .specra/plan.json
  • .specra/specra.db
  • .specra/verify/proof.json
  • .specra/verify/report.txt

Stable repository convention

  • specra/ is the default project contract root when no file is passed to the CLI
  • specra.config.jsonc or specra.config.json can override the contract root and generated output directory
  • .scl.md files can hold human Markdown plus fenced specra blocks
  • multiple .scl.md or legacy .scl files can be composed with import "./relative-file.scl.md" from root entrypoints in specra/
  • .specra/ is the recommended hidden local output folder for generated state
  • .specra/verify/ is the recommended hidden local output folder for verification inputs and reports
  • specra/README.md documents the app-local workflow after specra-lang init
  • local agent guidance can be installed into AGENTS.md and CLAUDE.md

Stable agent targets

  • opencode
  • claude for Claude Code
  • codex for Codex CLI and Codex agents

Compatibility expectation

For now, breaking changes are still possible, but the current .scl.md syntax and CLI flow should be treated as the baseline that new work must preserve unless a documented RFC changes it.

Contract-driven AI coding and verification.