Design
The prompts that specify the project — the single source of truth. Either design/index.md or a single design.md.
Open-Prompt Project Format
Open source shares the result. OPPF shares what produced it — the design prompts, the acceptance criteria, and the tests — so a generative coding agent can regenerate the whole project, with an explicit, checkable definition of done.
curl -fsSL https://oppf.dirp.dev/install.sh | sh
Linux & macOS · re-run the same line to upgrade · or build from source.
A standard for a project directory whose full contents can be reproduced by an AI.
Everything the agent needs lives in one folder, .opp/, split into three roles:
The prompts that specify the project — the single source of truth. Either design/index.md or a single design.md.
One file per acceptance property. The agent reads each and returns a strict pass / fail verdict. Optional.
A runnable test.sh suite that validates the implementation. Run after review. Optional.
opp drives a coding agent through three commands. Prompts go in; a working,
verified implementation comes out.
The design drives impl; review and test form the explicit definition of done. A failed verdict feeds back into another impl round — in the same agent session.
A conforming project is any directory containing an .opp/ folder.
.opp/
├─ design/
│ └─ index.md # the design — source of truth
├─ config.toml # agent + excludes (optional)
├─ review/ # pass/fail criteria (optional)
│ ├─ property_a.md
│ └─ property_b.md
└─ test/ # runnable suite (optional)
└─ test.sh
…implementation files # what the agent generates
design.md may replace the design/ folder.review/ and test/ are optional — start with just a design.config.toml picks the agent and lists read-only exclude paths.opp CLIA small Rust binary. It checks you're logged in, drives the agent with live progress, and reports results.
opp discuss
Surface implementation uncertainties — conflicts, blocking questions, unspecified decisions — before any code is written.
opp impl
Read the design and implement what it requires, streaming the agent's actions as it works.
opp review
Have the agent check every property and print a pass / fail verdict for each.
opp test
Run the bundled test.sh suite and report whether it passed.
opp clear
Remove all generated files to revert to the pre-generation state. Keeps .opp/, .git/, and excludes.
From an empty shell to a generated, checked project — three steps.
# 1. install (or upgrade) opp — idempotent, one line
curl -fsSL https://oppf.dirp.dev/install.sh | sh
# 2. grab the prompt-only example project and enter it
git clone https://github.com/camelop/oppf.git
cd oppf/examples/hello # contains only .opp/ (design, review, test)
# 3. run the lifecycle — generates hello.sh from .opp/design.md, then checks it
opp impl # generate the implementation
opp review # check each acceptance property
opp test # run the test suite
# tip: preview the agent call first, or reset with `opp clear`
opp --dry-run impl
~/.local/bin and checks its SHA-256.opp upgrade.claude or codex on your PATH.cargo build --release; spec in .notes/guidelines.md.