Primitives are designed for deployment in adversarial environments. If you find an exploit, please refer to our security policy before disclosing it publicly (an exploit may equip a malicious party to attack users of a primitive).
Examples may include insecure code (i.e. deriving keypairs from an integer arguments) to make them easier to run. Examples are not intended to be used directly in production.
Sometimes, we opt to maintain software that is neither a primitive nor an example to make it easier to interact with the Commonware Library. Unless otherwise indicated, code in this section is intended to be used in production. Please refer to our security policy before disclosing an exploit publicly.
All public primitives (and primitive dialects) in the Commonware Library are annotated with a stability level:
| Level | Index | Description |
|---|---|---|
| ALPHA | 0 | Breaking changes expected. No migration path provided. |
| BETA | 1 | Wire and storage formats stable. Breaking changes include a migration path. |
| GAMMA | 2 | API stable. Extensively tested and fuzzed. |
| DELTA | 3 | Battle-tested. Bug bounty eligible. |
| EPSILON | 4 | Feature-frozen. Only bug fixes and performance improvements accepted. |
Stability is transitive in the Commonware Library; primitives only depend on primitives with equal or higher stability. All examples are considered to be at ALPHA stability (and will continue to be for the foreseeable future).
Users employing the Commonware Library can compile with the commonware_stability_<level> configuration flag to both view scoped documentation and enforce their application only depends on primitives of a minimum stability:
# Generate docs for only code with stability >= BETA (level 1)
RUSTFLAGS="--cfg commonware_stability_BETA" RUSTDOCFLAGS="--cfg commonware_stability_BETA -A rustdoc::broken_intra_doc_links" cargo doc --open
# Check if your application only uses commonware APIs with stability >= BETA
RUSTFLAGS="--cfg commonware_stability_BETA" cargo build -p my-app
This repository is dual-licensed under both the Apache 2.0 and MIT licenses. You may choose either license when employing this code.
We encourage external contributors to submit issues and pull requests to the Commonware Library. To learn more, please refer to our contributing guidelines.
All work is coordinated via the tracker. If something in the backlog looks particularly useful, leave a comment so we can prioritize it!
Make your LLM more effective by connecting to the Commonware Library MCP server. Learn more here.
claude mcp add --transport http commonware-library https://mcp.commonware.xyz
{
"mcpServers": {
"commonware-library": {
"url": "https://mcp.commonware.xyz"
}
}
}
If you have any questions about using the Commonware Library, we encourage you to post in GitHub Discussions. We're happy to help!
$ claude mcp add monorepo \
-- python -m otcore.mcp_server <graph>