todo-view Card
Todo View Cards
A todo-view card IS a todos display surface — not a list you fill in by hand, but a live query over every {% todo %} tag and frontmatter todos: entry the box holds. Its frontmatter fields are the query; the renderer runs it every time the card is opened. bbx query todos --here <dir> asks the same question from the command line.
Fields
glob:— which cards to scan, relative to the box root (e.g."_content/projects/kitchen-remodel/**"). Omit it to scope the view to this card's own directory subtree, plus todos written elsewhere that link into that directory — that's the common case for a project-local todo page. The box-wide instance (_content/plate.todo-view.card) setsglob: "**"explicitly.todo-status:— restrict to todos with specific statuses (open,done,dropped,parked). Omit to seeopen+parked— every group of the list's "By status" tab (Overdue / Now / Later / Parked);done/droppedstay out of the default view. List them explicitly to include them.assigned:— restrict to todos with a matchingassignedattribute (exact match, e.g."agent").
When to create one
Drop a todo-view card in a project directory to give that project its own todo page — every todo captured anywhere under that directory shows up there, subtree-scoped by the omitted-glob rule above. Link to it like any other card (a plain card ref — chat, another card's body, a landmark). Tend these freely: create one when a directory's todos deserve their own surface, rename/move it with the directory, delete it when the project's done. There is exactly one box-wide instance (the stock _content/plate.todo-view.card, titled "Todos") — everything else is as many project-local instances as are useful.
Rendering
Read-only — no click-to-done; changing a todo is editing the card it was written in. The few todos that carry a due or a start lead as a dated strip. Below that the list is grouped by card and, inside each card, by the headings the todos sit under, with nested todos under their parents — which is why where you write a todo decides how it reads back. A card whose todos merely link into this place is included and says so. The reader can switch the grouping to status or show finished todos; neither is a card field. Cards that couldn't be read (parse/validate/load failures) show in their own muted section rather than silently vanishing — the same "never hide a failure" rule every todo surface follows.
The contains: field
Give this card a one-sentence contains: — the prime retrieval field for bbx search and listings. How to write a good one (carry the information when it's concise, never a list of parts, under 200 characters) is in the agent guide's ABOUT_CARDS section.
Templates
todo-view
A todos display surface — the box-wide Todos page, or a project-local subtree instance
bbx create <path>.todo-view.card -t todo-view
Template: todo-view Description: A todos display surface — the box-wide Todos page, or a project-local subtree instance Card types: todo-view
Arguments: title (optional): Display title for the view glob (optional): Glob scoping which cards to scan (default: this card's own directory subtree) todo-status (array — repeat key or use JSON: key='["a","b"]') (optional): Restrict to todos with these statuses (default: open and parked) assigned (optional): Restrict to todos with this exact assigned value