Plans
What it is
Section titled “What it is”A plan is the work of a feature broken into tasks. Each task is a prompt for an agent and says which tasks it waits for, so a plan is a DAG that wdx can run, an agent per task as soon as what it waits for is done (Running plans). A plan of plans breaks bigger work into plans, each landing as a PR of its own. Plans are kept like docs: in wdx, with a revision per change. An agent usually writes one, and you read it before it runs. See Concepts.
Try it
Section titled “Try it”A plan is YAML: a goal, constraints every task’s agent is told, and the tasks:
goal: Get app ready for its first contributors.constraints: - Keep each file to one or two lines.tasks: - id: contributing aca: claude_code model: sonnet prompt: | Create CONTRIBUTING.md saying "Open a PR against main." and commit it. - id: notes aca: claude_code model: sonnet after: [contributing] prompt: | Create NOTES.md with the line "TODO: write notes" and commit it.Create it from the file, or from stdin with --path - as an agent does:
$ wdx plan create --name first-release --path - < release.yamlplan first-release created, with 2 tasks project app folder / state draft revision 1 id doc-853c115e$ wdx plan status --name first-releasefirst-release: draft, 2 tasks goal Get app ready for its first contributors. constraint Keep each file to one or two lines.TASK ACA MODEL AFTER STATEcontributing claude_code sonnetnotes claude_code sonnet contributing$ wdx plan listFOLDER NAME STATE TASKS REVISION UPDATED/ first-release draft 2 tasks 1 2026-11-08 02:06:13Change it as a doc: get a copy, edit it, and give it back naming the revision you read.
wdx plan get --name first-release --out release.yamlwdx plan update --name first-release --path release.yaml --base 1A plan runs once. To run one again, or start from it, copy it to a new draft; archive the one that is over:
$ wdx plan copy --name first-release --new-name first-release-2plan first-release-2 created from first-release, with 2 tasks project app folder / state draft revision 1 id doc-24fba748$ wdx plan archive --name first-releaseplan first-release archived: wdx plan list --all shows itIn TIDE
Section titled “In TIDE”The Plans section of the left pane lists the project’s plans, plans of plans with their plans under them, each with its state; its first row picks All, Draft & in progress or Completed. Enter opens a plan’s tab: its goal, its constraints, and its tasks drawn as git log --graph draws commits, with the task under the cursor showing what it needs and what it unblocks. y there copies the plan and a archives it. Writing a plan is the CLI’s, or an agent’s. More in Docs and plans in TIDE.
How it behaves
Section titled “How it behaves”- The format.
wdx help plansis the reference:goal(required),constraints,tasks(each anid, anaca, amodel, apromptandafter), orplansin place of tasks for a plan of plans, andprandstackedfor its PRs. A task with noafterstarts at once. - Checked on every save. Every problem is reported with its line, and nothing is saved until there are none (
invalid_plan). - Afters already covered are dropped: with
docsafterstoreandschema, andstoreafterschema,docs’after: [schema]goes, and wdx says so. Tasks are listed in DAG order, after everything they wait for, keeping the order written where they are free to go either way. - Revisions.
--baseis the revision your change was made on; a newer one refuses yours (doc_changed), so nothing is lost. A plan that has run cannot be changed. - Names have letters, numbers and
-, up to 95, and are unique among a project’s plans; a doc may share one. - A plan of plans lists plans the project already has, never other plans of plans, and a plan has one parent at most. Those it lists share its folder, cannot be renamed or removed while listed, and are moved, paused, resumed, cancelled and archived with it. Copying it copies the plans not done, to run again what is left.
- Folders say where TIDE shows a plan, as for docs;
plan set --foldermoves a plan of plans with its plans. - Removing asks first, as nothing brings a plan back;
--yesanswers in advance.
Commands
Section titled “Commands”| Command | What it does |
|---|---|
wdx plan create | Create a plan from its YAML |
wdx plan list | List a project's plans |
wdx plan get | Print a plan's YAML, or write it to a file to change |
wdx plan update | Write a plan's YAML as a new revision |
wdx plan history | List a plan's revisions |
wdx plan set | Change a plan's folder, or how many tasks a running or paused plan runs at once |
wdx plan rename | Rename a plan |
wdx plan copy | Create a draft from a plan's latest revision, to run again or start from |
wdx plan archive | Archive a done or cancelled plan, leaving it out of plan list |
wdx plan unarchive | Show an archived plan in plan list again |
wdx plan remove | Delete a plan and all its revisions |