| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
An in-code, AI-native annotation system + multi-language toolchain: markers like @spec/@why/@ideal/@rule/@link live right on the code, distilled by per-language tools into a machine-readable asset for AI to consume. It is the shared source-of-truth for spec/case assets bound to code, used white-box by case-code-review (ccr) and black-box by test/eval/perf harnesses. | 中文: README.zh-CN.md
A spec states the intent/contract of a code symbol. A CaseSet case is a reusable black-box stimulus plus per-face judgment criteria; spec.json carries the smaller white-box checklist projection attached to a symbol. spec-case's distinct contribution is the stable code↔spec/case binding — the symbol-id — shared by those assets. That binding supports two consumer paths:
A review unit is the review-side twin of a case: same "requirement/contract" asset, two consumers. why, ideal, rule, and link are white-box structured intent; they compile into spec.json and do not alter the black-box CaseSet.
Think of spec-case markers as structured comments bound to code symbols — more precisely, structured intent annotations. They preserve the reasoning that cannot be recovered reliably from the implementation alone, while keeping it addressable and machine-readable:
Their primary purpose is not to replace unit or e2e tests. Tests and harnesses prove behavior; markers preserve the intent behind that behavior. Unlike free-form comments, markers use a stable vocabulary, bind to a symbol-id, compile into spec.json, and can be checked for drift with specgen --check.
pip install spec-case # markers + specgen only, zero deps
pip install 'spec-case[model]' # + canonical Case model (pydantic, pyyaml)
npm install @compforge/spec-case # TypeScript CaseSet runtime + markers + specgen
cargo run --manifest-path toolchains/rust/Cargo.toml --bin specgen -- --help # Rust specgenEarly WIP. The case model and vocabulary are standard test/eval terms; the symbol-id binding is the new piece this project owns.
| Back | FazBrowse Home | New Git URL |