Skip to main content

Ossature

CI codecov PyPI Downloads

License: MIT Docs Discord

[!WARNING] Ossature is currently in its 0.x series and should be considered unstable. APIs, spec formats, CLI flags, and internal behavior may change significantly between releases without prior deprecation. Pin your version and check the changelog before upgrading.

An open-source build system that turns specs into working code.

You describe what the software should do, review the plan Ossature generates, and build it step by step with an LLM generating the code under tight constraints. Your specs are the source and the generated code is the output, so when requirements change you edit the spec and rebuild only what changed. When a step breaks you fix that step and keep going instead of starting over.

Works with Anthropic, OpenAI, Mistral, Google, and most other hosted providers, as well as local models through Ollama.

Ossature (pronounced OSS-uh-cher) means the underlying framework or skeleton of a structure.

What it does

Ossature works from three kinds of files. Only the spec is required.

  • SMD (spec) states what the software should do: requirements, examples, acceptance criteria.
  • AMD (architecture) states how it fits together: components, their interfaces, and contracts each component has to hold.
  • VMD (verification) holds test cases you write yourself, as concrete inputs and expected results.

The workflow is three commands:

  • ossature validate parses everything and checks it structurally. No LLM involved.
  • ossature audit has an LLM read each spec, flag problems, and generate a build plan you can read and edit before anything runs.
  • ossature build runs the plan task by task. Each task generates a few files, runs its verify command, and on failure enters a fix loop. With review on, an LLM also checks the generated code against the spec and the component contracts before a task is done.

Builds are incremental, so changing one spec only rebuilds the tasks it affects, and an upstream change that leaves a spec's public interface unchanged doesn't pull its dependents along. When a spec has a VMD, the plan includes deterministic test tasks built from your cases. The LLM never sees the expected values, so the code can't be written to fit the tests; it has to actually pass them.

Quick start

Requires Python 3.14+.

uv tool install ossature

Or with pip:

pip install ossature

Set your LLM provider API key:

export ANTHROPIC_API_KEY="sk-ant-..."
# or OPENAI_API_KEY, MISTRAL_API_KEY, etc.

Create and build a project:

ossature init myproject && cd myproject
ossature new my-feature
# edit specs/my-feature.smd
ossature validate
ossature audit
ossature build

The default model is anthropic:claude-sonnet-4-6. To use a different model, set the model field in ossature.toml:

[llm]
model = "openai:gpt-5.2"  # or mistral:devstral-latest, etc.

The API key you export must match the provider in your model string, so use OPENAI_API_KEY for an openai: model. See the configuration docs for per-role overrides and all available options.

Examples

See ossature-examples for complete projects with specs, build plans, and generated code.

Documentation

Full docs at docs.ossature.dev. The workflow guide walks through a complete project from init to generated code.

License

MIT

Release files for ossature 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ossature 0.2.1
File Size Uploaded
ossature-0.2.1.tar.gz 136.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ossature 0.2.1
File Interpreter ABI Platform
ossature-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 321.7 kB

Release files / ossature-0.2.1.tar.gz

Download URL ossature-0.2.1.tar.gz
Size 136.2 kB
Tags Source
SHA-256 checksum
How to use checksums
118d78c53bf334bb0d2c105c5a91ab38351144f2269f44fb226c7147b8b3934d
BLAKE2b-256 checksum
How to use checksums
28e3ff72dcd9b7f4aa2a253a9abb2261117fbfd6fb65cc716a4fbe6b9ba5d107
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 2, 2026.

Transparency log

Release files / ossature-0.2.1-py3-none-any.whl

Download URL ossature-0.2.1-py3-none-any.whl
Size 185.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7ac49f53288e0dc118a7da0c8afe9f71bd76b1f57dde003732826c70b76740e4
BLAKE2b-256 checksum
How to use checksums
3d7fa1e73131c861e2699d2e2960b1f0aa0b4a9e07d950568900dfd87f28416c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 2, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page