dream docs

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.

FieldMeaning
titlerequired; the choice in one line
rationalewhy
rejected[{"option", "reason"}], options that lost
scopepath globs it governs
depends_onids it builds on
supersedesid it replaces
codethe 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.