Documentação
Tasks, projects and pipelines
Driving the board from the command line.
Nesta página
Overview
tde task is the deterministic front door to My Loop. Everything the board does
— filing work, running a pipeline, following its events, approving a human gate,
recording a comment, declaring a dependency — has a command here, and each one
goes through the same semantic socket the desktop and Web Share use. There is no
separate "CLI board": the records you create here are the cards you see on the
desktop.
tde project list, tde pipeline list and tde agent list are the read-only
catalog commands that tell you which names the task commands will accept.
All of these live in the semantic CLI, so --json, --profile and the
exit-code taxonomy apply uniformly. The
first semantic command you run also installs and starts the per-user Runtime
service if it is not already up — see Runtime.
tde task create "Investigate the flaky CI job" \
--project tde \
--agent Bot \
--priority high \
--run --waitCreating tasks
tde task create TITLE [OPTIONS]| Option | Value | Notes |
|---|---|---|
--description TEXT | free text | Mutually exclusive with --description-file. |
--description-file PATH | path | Reads the body from a file instead. |
--project NAME | project name | From tde project list. |
--pipeline NAME | pipeline name | From tde pipeline list. |
--agent NAME | agent name | From tde agent list. |
--priority VALUE | low, normal, high, urgent | Defaults to normal. |
--idempotency-key KEY | stable string | Replays return the existing task. |
--run | flag | Start the pipeline immediately after creating. |
--wait | flag | Block until the run settles. Requires --run. |
TITLE is positional and required; a second bare word is rejected as an
unexpected argument, so quote multi-word titles. Two combinations are refused up
front, before anything is created: --description together with
--description-file, and --wait without --run.
Listing and reading
tde task list [--stage STAGE] [--project PROJECT] [--status STATUS]
[--cursor CURSOR] [--limit 1..500]
tde task show ID--limit must be between 1 and 500; 0 or anything larger is an
invalid_value error. Omit it and the Runtime supplies its own stable page size.
--cursor takes the opaque cursor from the previous page — it must be 1 to 1024
bytes, with no padding whitespace and no control characters. When more pages
exist, the human output ends with the exact command to fetch the next one:
#41 review waiting Investigate the flaky CI job
#40 work running Port the reach selector to Web Share
More: tde task list --cursor <cursor>tde task show ID takes exactly one numeric id greater than zero, and no flags.
When the task is blocked, its output carries a Blocked by: line naming the
blockers and how many of them are still open.
Running, following and stopping
tde task run ID [--agent NAME] [--idempotency-key KEY] [--wait]
tde task watch ID [--after CURSOR]
tde task logs ID [--follow] [--after CURSOR] [--limit 1..1000]
tde task cancel ID
tde task retry IDwatch streams the task's event journal and does not return on its own; it is
the live view. logs reads the same journal as a bounded page — --limit is 1
to 1000 — and --follow keeps it attached after the page is drained. Both take
--after CURSOR as a numeric event cursor, so a client that restarts resumes
exactly where it stopped instead of replaying from the beginning.
--agent on run overrides the agent for that one execution without changing
the task's stored assignment.
Human gates, dependencies and comments
tde task approve ID [--response TEXT]
tde task reject ID [--reason TEXT]
tde task block ID --by BLOCKER_ID
tde task unblock ID --by BLOCKER_ID
tde task comment ID BODY
tde task comment ID --body-file PATHapprove and reject are the CLI side of a human gate.
They stay explicitly human operations: an agent in tde chat can request
approval, but it cannot grant one.
block and unblock both name two tasks — ID is the dependent task and
--by is the blocker. Both ids are validated as positive integers, and --by
is required; omitting it is a missing_argument error rather than a silent
no-op.
comment takes the body either positionally or from a file. Supplying both is a
conflict, and supplying neither is a missing-argument error. The positional form
is a single argument, so quote it.
tde task block 41 --by 38
tde task comment 41 "Reproduced on CI runner 3, not locally."
tde task comment 41 --body-file ./notes/41-repro.mdCatalog commands
tde project list
tde pipeline list
tde agent listEach accepts no arguments at all — list is the only subcommand, and a trailing
extra word is rejected. agent list marks the default agent with a leading *
and prints name, provider and model. pipeline list prints each pipeline's id,
name and stage count. project list prints id, name and checkout path.
The legacy tde issue board CLI
An older, direct-to-database board CLI is still reachable under the undocumented
alias tde issue:
tde issue list
tde issue create <title…>
tde issue clearUnlike tde task, these open the local board database directly, bypassing the
Runtime, the event journal and idempotency. list prints one tab-separated line
per task across every stage; create joins the remaining arguments into a title
and files it as a plain card with no project, pipeline or agent.
There is no tde task clear. The clear verb belongs to the legacy alias only —
under tde task it would never be reached, because the semantic CLI claims the
word task first and its grammar has no such subcommand.