A CLI tool for organizing software specifications, PRDs (Product Requirements Documents), and implementation tracking.
openclose helps development teams manage their project specifications through a structured workflow:
- Create specs - Define features with PRD, tasks, and test scenarios
- Implement - Follow the spec tasks to build features
- Validate - Ensure specs meet formatting requirements
- Archive - Clean up completed work
The easiest way to install openclose on macOS and Linux. Homebrew builds from source automatically:
# Install from the latest release (one-liner)
brew install bpingris/tap/openclose
# Or install from the tap (two steps)
brew tap bpingris/tap
brew install opencloseNote: Homebrew builds from source locally, so you won't encounter macOS Gatekeeper warnings that appear with downloaded binaries.
Requires the Odin programming language:
mkdir -p build
odin build src -out:build/openclose -o:speed -vet -strict-style# Initialize openclose in your project
./openclose init
# Create a new spec
./openclose create my-feature
# View all specs and their progress
./openclose summary| Command | Description |
|---|---|
init |
Initialize .openclose directory with AGENTS.md |
create <name> |
Create a new spec |
summary |
Show all specs with progress |
validate <name> |
Validate a spec's file formats |
archive <path> |
Archive a spec |
help |
Show help message |
Specs are stored in .openclose/specs/<name>/ and contain:
- PRD.md - Product Requirements Document
- tasks.md - Implementation tasks (checked off as completed)
- scenarios.md - Test scenarios and acceptance criteria
openclose generates custom commands for popular AI assistants:
- OpenCode -
.opencode/commands/ - Claude Code -
.claude/commands/openclose/ - Cursor -
.cursor/commands/
These provide streamlined workflows for AI assistants to create specs, implement them, and archive completed work.
After running openclose init, within OpenCode you can use the following commands to work with specs:
| Command | Description |
|---|---|
/oc-create <name> |
Create a new spec - guides you through naming and validation |
/oc-brainstorm <feature-idea> |
Run a guided brainstorming session to clarify scope before writing a spec |
/oc-impl <name> |
Implement a spec - reads the spec, validates it, and executes tasks in order |
/oc-phase <number> |
Implement a specific phase of the current spec |
/oc-archive <path> |
Archive a completed spec |
For MVP, brainstorming is provided via generated agent commands (for example /oc-brainstorm ...).
A native openclose brainstorm CLI subcommand is intentionally deferred until the workflow and output schema are stabilized.
Brainstorm summaries can propose one or more specs depending on scope boundaries.
Transition guidance is chat-first: ask the agent to implement a selected spec, or continue refining in conversation.
# Create a new spec
/oc-create an endpoint called by admin users where it returns a list of tagged users
# Implement the full spec
/oc-impl my-feature
# Or implement just one phase
/oc-phase 2
# Archive when done
/oc-archive my-feature
and other SDD tool.
MIT