--- # nbd-9mxu title: Add list status sub-commands (list todo, list backlog, etc.) status: todo type: feature priority: low created_at: 2026-03-10T23:30:30Z updated_at: 2026-03-10T23:30:30Z --- ## Problem Filtering by status requires the verbose `--filter status=X`. Common patterns like listing only backlog or only completed tickets should have ergonomic shortcuts. ## Sub-commands to add (positional arg to `list`) Accept an optional positional `` argument to `nbd list`: ```sh nbd list backlog # equivalent to: nbd list --filter status=backlog nbd list closed # equivalent to: nbd list --filter status=closed nbd list completed # equivalent to: nbd list --filter status=done nbd list todo # equivalent to: nbd list --filter status=todo nbd list in_progress # equivalent to: nbd list --filter status=in_progress ``` Note: `completed` is an alias for `done` (avoids the awkward `nbd list done`). ## Implementation **`src/main.rs`** — `Commands::List` Add an optional positional argument `status` to the `List` variant: ```rust List { status: Option, // new: positional shorthand filter: Vec, all: bool, } ``` In `cmd_list`, when `status` is `Some(s)`: - Map `"completed"" → "done"`, others pass through - Treat it as if the caller had passed `--filter status=` - The explicit `--filter` and `--all` flags should still override as today If both `status` and `--filter status=...` are given, merge them (OR behaviour within the status group, consistent with `TicketFilter`). **`tests/integration.rs`** Add tests for each status shorthand.