Use what exists. See exactly what does not.
Makoto has a tested reference CLI and Python library in the core source tree, hosted schemas, conformance fixtures, and a cloneable handoff demo. Python and JavaScript experiments in this site remain useful API research, but they are not published distributions.
| Surface | Availability | Use it for |
|---|---|---|
| Reference CLI and Python library | Source checkout | Create, sign, bundle, and verify evidence from the core repository. |
| Hosted JSON Schemas | Public review URLs | Validate core resources and resolve exact digest-pinned profile schemas. |
| End-to-end handoff | Runnable and tested | Exercise source, transform, handoff, receiver policy, and final-byte verification. |
| Python and JavaScript experiments | API research | Study earlier generation and verification ideas; do not install them as supported Makoto packages. |
| Platform adapters | Design notes | Explore attachment points; no maintained adapter package is claimed. |
Run the reference implementation
git clone https://github.com/makoto-project/makoto.git
cd makoto
uv sync --locked --dev
uv run makoto --help
./scripts/demo-v0.2.sh --acceptanceThis is a source checkout, not an install command for a published package. The demo is the shortest verified path through the implementation.
Choose the right surface
- CLI and Python libraryStart here for real generation and verification work. Inspect the source, run the acceptance demo, and treat its positive and negative fixtures as the behavioral contract. Read the verification guide
- Hosted schemasUse the catalog for core resources. Private organizational profiles can remain private and still resolve by URI plus exact digest. Open the schema catalog
- Python experimentThe prototype source records ideas from the first API exploration. It is not wire-compatible with the reference implementation and is not a published Makoto distribution. Browse the source ↗
- JavaScript experimentThe browser and Node examples preserve useful ideas for future client libraries, but are not a supported package. Browse the source ↗
Missing the interface you need?
Turn the SDK question into a public design input.
Share the language, runtime, data system, trust boundary, and workflow you need. A concrete producer-to-consumer use case is more useful than a generic package request.