The spec-driven development workspace for osapi-io. Every change is designed here first, then implemented in the repo it belongs to.
This repo is where osapi-io development starts. Before code is written in osapi, gohai, or any other repo, the change is proposed and agreed here — in Markdown, where it is cheap to argue about.
A change moves through four stages, each a slash command in Claude Code:
- Propose —
/opsx:propose "add a health endpoint"opens a change underopenspec/changes/, containing the proposal, the requirements it adds or alters, a design, and a task breakdown. - Review — the proposal is reviewed as a pull request here. Scope, requirements, and design are settled before anything is built.
- Implement —
/opsx:applyworks the task list. The code lands in the target repo; this repo records what was agreed and what is done. - Archive —
/opsx:archivefiles the completed change underopenspec/changes/archive/.
What survives is openspec/specs/ — the current description of how osapi-io
behaves, kept honest by every change that passes through.
Why bother: the design is reviewable on its own, separate from the diff that implements it. Decisions get a written record instead of living in a PR comment thread, and a change that spans several repos is described in one place rather than scattered across them.
See the OpenSpec documentation for the workflow and CLI reference.
See the Contributing guide for prerequisites, setup, conventions, and the PR workflow.
The MIT License.