summaryrefslogtreecommitdiff
path: root/Omni/Task.hs
diff options
context:
space:
mode:
authorBen Sima <ben@bsima.me>2025-11-09 08:47:35 -0500
committerBen Sima <ben@bsima.me>2025-11-09 08:47:35 -0500
commit7d7be88312c47761fb0892e9329520bfc37e7177 (patch)
tree36154e91dac054e30da7fe3f965dd5bc075789ad /Omni/Task.hs
parent2479a9812ddd4d5f24dc15f1e9f54bf61be73076 (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.hs7
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"