diff options
| author | Ben Sima <ben@bsima.me> | 2025-11-09 08:47:35 -0500 |
|---|---|---|
| committer | Ben Sima <ben@bsima.me> | 2025-11-09 08:47:35 -0500 |
| commit | 7d7be88312c47761fb0892e9329520bfc37e7177 (patch) | |
| tree | 36154e91dac054e30da7fe3f965dd5bc075789ad /Omni/Task.hs | |
| parent | 2479a9812ddd4d5f24dc15f1e9f54bf61be73076 (diff) | |
Implement task tree visualization command
Add 'task tree' command to show hierarchical task structure:
Usage:
task tree # Show all epics with their children task tree <id> #
Show specific epic/task with children
Features: - Visual status indicators: [ ] open, [~] in-progress,
[✓] done - Shows task type: [Epic] or [Task] - Indented display
for hierarchy - Shows namespace associations
Example output:
t-PpXWsU [Epic] [ ] Task Manager Improvements [Omni/Task.hs]
t-PpYZt2 [Task] [ ] Implement child ID generation t-PpZGVf [Task]
[✓] Add filtering by type and parent
Updated AGENTS.md with usage examples.
Closes task t-PpZlbL
Diffstat (limited to 'Omni/Task.hs')
| -rw-r--r-- | Omni/Task.hs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/Omni/Task.hs b/Omni/Task.hs index 0aca674..ef912f9 100644 --- a/Omni/Task.hs +++ b/Omni/Task.hs @@ -39,6 +39,7 @@ Usage: task ready task update <id> <status> task deps <id> + task tree [<id>] task export [--flush] task import -i <file> task test @@ -51,6 +52,7 @@ Commands: ready Show ready tasks (not blocked) update Update task status deps Show dependency tree + tree Show task tree (epics with children, or all epics if no ID given) export Export and consolidate tasks to JSONL import Import tasks from JSONL file test Run tests @@ -158,6 +160,11 @@ move args | args `Cli.has` Cli.command "deps" = do tid <- getArgText args "id" showDependencyTree tid + | args `Cli.has` Cli.command "tree" = do + maybeId <- case Cli.getArg args (Cli.argument "id") of + Nothing -> pure Nothing + Just idStr -> pure <| Just (T.pack idStr) + showTaskTree maybeId | args `Cli.has` Cli.command "export" = do exportTasks putText "Exported and consolidated tasks to .tasks/tasks.jsonl" |
