to
to is a small Rust CLI for project-scoped TODO lists. It walks up from your current working directory, finds the nearest .todo file, and operates on that task list automatically.
Install
That installs the executable as to, so you run it like:
Usage
.todo format
[ ] implement streaming responses
[ ] add sqlite persistence
[x] setup CLI parser
Scan TODO comments
to scan looks through git-tracked files in the current project and imports lines containing TODO: into .todo.
// TODO: add sqlite persistence
// TODO: implement streaming responses
Example session
$ to init
Initialized /projects/api/.todo
$ to add "implement streaming responses"
Added task 1: implement streaming responses
$ to add "add sqlite persistence"
Added task 2: add sqlite persistence
$ to ls
Tasks from /projects/api/.todo
1. [ ] implement streaming responses
2. [ ] add sqlite persistence
Open: 2 Done: 0
$ to next
Next task: 1. implement streaming responses
$ to do 1
# launches: opencode --prompt "Task #1: implement streaming responses ..."
$ to done 1
Completed task 1: implement streaming responses
$ to uncheck 1
Unchecked task 1: implement streaming responses
$ to scan
Added 2 tasks from git-tracked TODO comments.
Notes
tosearches for.todostarting in the current directory and then each parent directory.- If no
.todofile is found, the command tells you to runto initin the project root. to scanonly reads git version-controlled files.to do <number>launchesopencode --prompt ...from the.todoproject root using the selected task plus a built-in agent prompt.- Task numbers are 1-based.