Decisions
-repo names the repo; decisions list defaults to the current one.
Record a decision
{
"title": "Use SQLite for storage",
"rationale": "One file to back up.",
"rejected": [{"option": "JSON files", "reason": "no queries"}],
"scope": ["store/**"]
}
dream decisions record -repo your-project decision.json
Records it as the next D-N. - reads the JSON from stdin.
| Field | Meaning |
|---|---|
title | required; the choice in one line |
rationale | why |
rejected | [{"option", "reason"}], options that lost |
scope | path globs it governs |
depends_on | ids it builds on |
supersedes | id it replaces |
code | the exact code it fixes |
Replace a decision
echo '{"title":"Use DuckDB","rationale":"faster scans","supersedes":"D-1"}' | dream decisions record -repo your-project -
Records D-2 and marks D-1 superseded.
List decisions
dream decisions list
One line each, newest first. Filters: -status, -by, -source, -since, -scope, -limit.
Decisions for a topic
dream decisions ground -repo your-project "storage"
The decisions that apply, as a context block.
Decisions for a path
dream decisions governing -repo your-project store/db.go
The decisions whose scope covers the path.
Why an option lost
dream decisions why-not -repo your-project "JSON files"
Where it was rejected and why.
A decision's trail
dream decisions history -repo your-project D-1
The decision, what replaced it, and why.
Brief
dream decisions brief -repo your-project
All decisions as one text block. -as-of date shows them as of that date.
Approve
dream decisions approve -repo your-project D-3
Clears a decision marked for review.
Code patterns
dream patterns list
dream patterns show -repo your-project D-5
Decisions titled pattern: ...; show prints example code and uses.