This repo contains example projects created and built entirely with Ossature.
All specification documents for the examples provided in this repo are licensed under CC0. All generated code for these examples is licensed under MIT.
| Example | Description | Language | Models |
|---|---|---|---|
| Spenny | CLI expense tracker | Python | Opus (audit), Sonnet (planner/fixer), Devstral (build) |
| Math Quest | Children's arithmetic game | LÖVE2D (Lua) | Opus |
| Qoizig | QOI image format encoder/decoder | Zig | Opus |
| Markman | CLI bookmark manager with web UI | Rust | Haiku |
| whenwords-py | Human-friendly time formatting library | Python | Devstral |
Each example includes a specs/ directory with the specification documents used as input, an output/ directory with the fully generated code, and an .ossature/ directory that captures every intermediate artifact Ossature produced along the way.
Exploring the .ossature/ directory is the best way to understand what Ossature does at each stage:
| Path | What It Is | Why It's Useful |
|---|---|---|
audit-report.md |
A report generated by ossature audit that analyzes the specs for completeness, ambiguity, and feasibility. |
See how Ossature reasons about a specification before any code is written. |
plan.toml |
The task plan generated after auditing. Breaks the project into ordered, dependency-aware build tasks. | Understand how Ossature decomposes a project into incremental steps. |
context/project-brief.md |
A distilled summary of the entire project, extracted from the specs. | See how Ossature condenses specifications into focused context for code generation. |
context/spec-briefs/*.md |
Per-spec summaries, one for each input specification file. | See how individual specs are summarized and later assembled into task prompts. |
context/interfaces/*.md |
Interface definitions extracted from the specs (APIs, data models, contracts). | Understand what structural boundaries Ossature identifies before generating code. |
tasks/**/prompt.md |
The full prompt sent to the LLM for a specific build task. | See exactly what the model receives — the assembled context, instructions, and constraints. |
tasks/**/response.md |
The raw LLM response for that task. | Compare what the model produced against the final output to understand post-processing. |
tasks/**/output.toml |
A summary of the generation and verification result for that task. | Check whether a task passed verification on the first try or required fixes. |
tasks/**/fix-*-prompt.md |
The prompt sent for fix iteration N, when verification failed after the initial build. | See how Ossature diagnoses and attempts to fix issues automatically. |
tasks/**/fix-*-response.md |
The LLM response for that fix iteration. | Trace the back-and-forth of the fixer loop. |
Each example is a standalone Ossature project. To rebuild one, cd into its directory first (e.g., cd spenny/).
Make sure you set the environment variables for whichever model providers are configured in the example's ossature.toml. For example:
export ANTHROPIC_API_KEY=your_anthropic_key
export MISTRAL_API_KEY=your_mistral_keyTo rebuild using the existing plan:
rm -rf output
ossature buildTo re-audit and replan from scratch:
rm -rf output
ossature clean
ossature audit
# after auditing and planning finishes:
ossature build