A per-workspace SQLite database:
./todo.dbTODO_DB=/path/to/todo.dbAll changes MUST happen through the CLI:
bash {baseDir}/scripts/todo.sh ...
pending (default), in_progress, done, skipped
Default list hides done and skipped unless --all or --status=....
todos.md, notes, markdown, exports).todos.md (...).todo.db, mutated by todo.sh.Allowed confirmations (English examples; translate as needed):
If the user requests a destructive action but does not specify an ID (e.g., “remove the milk task”):
1) run entry list (optionally with --group=...)
2) show the results (minimal table)
3) ask which ID to act on
This is the only case where you may show the list without the user explicitly requesting it.
group remove "X" moves entries to Inbox (default).--delete-entries.bash {baseDir}/scripts/todo.sh entry create "Buy milk"bash {baseDir}/scripts/todo.sh entry create "Ship feature X" --group="Work" --status=in_progressbash {baseDir}/scripts/todo.sh entry listbash {baseDir}/scripts/todo.sh entry list --group="Work"bash {baseDir}/scripts/todo.sh entry list --allbash {baseDir}/scripts/todo.sh entry list --status=donebash {baseDir}/scripts/todo.sh entry show 12bash {baseDir}/scripts/todo.sh entry edit 12 "Buy oat milk instead"bash {baseDir}/scripts/todo.sh entry move 12 --group="Inbox"bash {baseDir}/scripts/todo.sh entry status 12 --status=donebash {baseDir}/scripts/todo.sh entry status 12 --status=skippedbash {baseDir}/scripts/todo.sh entry remove 12bash {baseDir}/scripts/todo.sh group create "Work"bash {baseDir}/scripts/todo.sh group listbash {baseDir}/scripts/todo.sh group rename "Work" "Work (Project A)"bash {baseDir}/scripts/todo.sh group edit "Work" "Work (Project A)"bash {baseDir}/scripts/todo.sh group remove "Work"bash {baseDir}/scripts/todo.sh group remove "Work" --delete-entriesTo clear the todo list:
1) run entry list --all to get IDs (do NOT paste the results)
2) remove each ID with entry remove ID
3) reply with ONE line: “Cleared.”
If the user then asks to see the list, run entry list and show it.
User: "I need to buy milk, add it to my todo list"
Agent: "Done."
User: "Oh, and I also need to clean the room"
Agent: "Added to the list."
User: "Show my todos"
Agent: (prints the list)
User: "Remove the milk one"
Agent: (lists matching tasks + asks for ID, then removes when ID is provided)
共 1 个版本