Roadmaps
23 commands · plm roadmap
Visual plans toward an outcome: a single road of cliffs, climbed one at a time.
A roadmap is one road toward one outcome: Launch, first sale, first income. It is a strict sequence of stops (the web draws them as cliffs on a mountain climb), each with a label, a status, a note, and its own comment thread. The whole plan is a plm.roadmap/v1 document, so an agent can build or reshape a plan from the terminal while a human watches it redraw live in the browser, and every mutation lands in an audit trail that outlives even deletion.
Step 1 of 6
Raise the road
One roadmap = one outcome. Start from a template (launch, first-sale, first-income, fundraise) or blank. The new roadmap becomes your active one, so every verb after this can omit the id.
plm roadmap new$ plm roadmap new "Launch" --template launch✓ created roadmap "Launch" from launch · now activerdmp_5c1284aa90b1full form · plm roadmap new <title> [--template launch|first-sale|first-income|fundraise|blank]
Step 2 of 6
Add the cliffs
Each stop on the road is a cliff: a label, an optional markdown note, a lucide icon, a status. Keep labels short and outcome-shaped; the note carries the detail. Order is the road itself, and plm roadmap reorder rearranges it later.
plm roadmap node$ plm roadmap node --label "Beta cohort onboarded" --icon Users✓ added node "Beta cohort onboarded"n_8f21c4d0full form · plm roadmap node [<id>] --label "…" [--note "…" --icon <Lucide> --status todo|doing|done]
Step 3 of 6
Climb it
Progress on a roadmap is flipping cliffs: todo becomes doing becomes done. Status is deliberately manual here (unlike goals, where progress derives from problems): a roadmap is the outward-facing plan, and marking a cliff done is a statement.
plm roadmap node-set$ plm roadmap node-set --node n_8f21c4d0 --status done✓ updated n_8f21c4d0n_8f21c4d0full form · plm roadmap node-set [<id>] --node <n_…> [--label --note --icon --status todo|doing|done]
Step 4 of 6
Read the climb
The show view is the whole plan in one glance: every cliff in order, its status, its icon, its comment count. This is what an agent reads before proposing the next move, and what you paste into a standup instead of a screenshot.
plm roadmap show$ plm roadmap showLaunch [active] rev 12 · owner Edvard1. Domain live [done] n_2ba90c112. Beta cohort onboarded [doing] (Users) n_8f21c4d03. First paying customer [todo] [2 comments] n_f00d3e42full form · plm roadmap show [<id>]
Step 5 of 6
Discuss on the cliff
Every cliff carries its own thread: doubts, context, links to evidence, nested replies. The conversation lives inside the plan document itself, so it travels with the roadmap instead of scrolling away in chat.
plm roadmap comment$ plm roadmap comment n_f00d3e42 --body "pricing page must land before this one"✓ commented on n_f00d3e42c_77ab120efull form · plm roadmap comment [<id>] <n_…> --body "…" [--parent <c_…>]
Step 6 of 6
Watch it move, live
The scene is the source of truth and every save bumps its rev. watch streams those signals: an agent reshaping the plan makes the browser redraw live, and a human dragging cliffs in the editor is visible to a watching agent. Two hands, one document.
plm roadmap watch$ plm roadmap watchwatching rdmp_5c1284aa90b1 — Ctrl-C to stopfull form · plm roadmap watch [<id>]
Also in this chapter
List the starter templates: launch, first-sale, first-income, fundraise, blank.
Set the active roadmap; verbs below omit the id.
This project's roadmaps with status and cliff count.
Raw plm.roadmap/v1 content JSON, for editing and set.
Replace the whole content document. The raw counterpart to node and node-set.
Delete a cliff. Order reindexes.
Set cliff order: listed first, the rest keep their order.
Edit your own comment. Stamps it as edited.
Delete your own comment while fresh.
Rename the roadmap.
Toggle archived status.
Delete. Owner-only, soft-delete: content purged, audit kept.
The kept audit trail. Outlives a delete.
Owner delegates rights to a teammate.
Owner revokes a delegate.
Owner transfers ownership. The new owner must be a member.
Read or save the roadmaps-page diagram: card positions and links between roadmaps.
- Add --as <label> to any mutating verb to name the agent in the live-edit bar a watching human sees.
- Active roadmap: after new or use, omit the id. Verbs use the active roadmap from .plmhub/state.json; an explicit rdmp_… first argument always overrides it.
- A node is called a Cliff in the web editor (the mountain climb); the id and API keep node.
- Cliff status is manual (todo, doing, done) by design; goal progress stays derived. A roadmap is the outward plan, goals are the internal engine.
- Delete is owner-only and soft: content is purged, the audit trail stays readable forever.