Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

cdno project

Manage project maps: create, update state, add/complete milestones, manage waiting-on items, park/activate, and list/show. Next actions have their own verb, cdno action.

cdno project [OPTIONS] <COMMAND>

Subcommands

SubcommandDescription
createCreate a new project map
stateUpdate the Current State (auto-logs the previous)
parkMove a project to _parked/
activateBring a parked project back (enforces the cap)
listList active projects
showShow one project
milestoneAdd / complete milestones
waitingAdd / resolve waiting-on items

Write subcommands honour --json (a {path, message} result, run non-interactively); list/show emit their data under --json.


cdno project create

Create a new project map. Created parked if you’re already at the active cap.

FlagDescription
--title <TITLE>Project title (the slug derives from it).
--context <CONTEXT>Life domain: work, side-project, university, family, household, legal, personal.
--question <QUESTION>Vault-relative core-question wikilink target (e.g. questions/research/foo). Optional.
--var <NAME=VALUE>Value for a custom template’s prompted variable ([variables.prompt]). Repeatable. See Prompted variables.
cdno project create --title "Surrogate model" --context work
cdno project create --title "Thesis" --context university --var ticket=ABC-123
cdno project create --title "Thesis" --context university --question questions/research/surrogate-cost

cdno project state

Update the Current State section. The previous state is auto-logged to today’s daily note first (see Business rules).

FlagDescription
--slug <SLUG>Project slug.
--text <TEXT>The new state text.
cdno project state --slug surrogate-model --text "Mesh scaling works; assembly is the bottleneck"

cdno project park

Move an active project to projects/_parked/, freeing a slot against the five-project cap.

FlagDescription
--slug <SLUG>Project slug.
cdno project park --slug surrogate-model

cdno project activate

Bring a parked project back. Fails if it would exceed the active cap — park another first.

FlagDescription
--slug <SLUG>Parked project slug.
cdno project activate --slug surrogate-model

cdno project list

List active projects with a state snippet. Honours --json.

cdno project list
cdno project list --json | jq '.[].slug'

cdno project show

Show a compact summary of a single project (any status). Takes the slug as a positional argument. Honours --json (emits the project summary object).

cdno project show surrogate-model
cdno project show surrogate-model --json

cdno project milestone

Manage milestones — dated markers of progress. A --hard milestone is a real deadline counted in cdno commitments.

add--slug, --title, --date <YYYY-MM-DD>, --hard done--slug, --query (case-insensitive substring of the milestone title)

cdno project milestone add --slug surrogate-model --title "Submit to ICML" --date 2026-01-22 --hard
cdno project milestone done --slug surrogate-model --query "submit to icml"

cdno project waiting

Track external blockers.

add--slug, --description resolve--slug, --query (substring of the item)

cdno project waiting add --slug surrogate-model --description "Cluster quota from IT"
cdno project waiting resolve --slug surrogate-model --query "cluster quota"

create_project, update_project_state, park_project, activate_project, list_projects, get_project_context, add_milestone, complete_milestone, add_waiting_on, resolve_waiting_on.

See also