Spec-as-Source
In SpecSoloist, The Specification is the Source of Truth.
The Lifecycle
- Requirement: A human defines a Functional Requirement (e.g.,
FR-01). - Compilation: The LLM reads the spec and generates the implementation.
- Verification: Tests are generated from the
Test Scenariossection. - Sync: If you change the code manually, you are creating technical debt. If you change the Spec, you are evolving the software.
Markdown Structure
SpecSoloist uses a specific SRS (Software Requirements Specification) format:
- Frontmatter: YAML metadata (name, type, language, dependencies).
- Overview: Purpose and context.
- Interface: Types, inputs, and outputs.
- Functional Requirements: Detailed behavior.
- Non-Functional Requirements: Constraints like performance and purity.
- Design Contract: Pre-conditions and post-conditions.
- Test Scenarios: High-level test cases.