Staves is open source
Staves is an open format and a set of tools for describing work shared by people, AI agents and software: who does what, what passes between them, where a person decides, and how we know.
The code and format are available on GitHub under Apache-2.0.
The starting point is a job with an outcome someone cares about. A board describes the people, agents and systems doing those jobs, the information they exchange, and the decisions someone is accountable for. Sources can come from code, a person's account of the work, or evidence of an execution. Those are different kinds of evidence, and the distinction matters.
You can describe an existing system or design a proposed version. The format describes work; execution stays with your existing tools and runtimes.
Start locally
In a project directory, run:
npx -y @staves/cli initThen open your coding agent in that project and say run staves. Local boards live in .staves/ alongside the code. You can start without a Staves account, using your own agent or provider key.
The open repository includes the format and JSON Schema, CLI, MCP server, editor, analyzers and modelling method. The intention is that one person can describe a system and design its next version without depending on our hosted service.
The boundary is written down
Hosted accounts, tenancy, the service database and operations remain private. The open-core policy and boundary rules explain the split. Changes to what a board means belong in the open specification.
An early format
The format is v0.1, draft for comment. It is versioned separately from the tools. Breaking changes are expected before 1.0.
The tools are not yet fully conforming consumers: disputes do not round-trip as competing claims, and saving to a Staves store does not yet preserve every unmodelled field. The specification records these limitations.
Try it on a piece of work you know. Read the board against what actually happens. Bring gaps, examples and proposed changes to the repository.