A small, well-tested command-line TODO manager built with Typer and Rich.
- Add, list, complete, remove, and clear tasks
- Priorities (
low/medium/high) - Rich table output
- Atomic JSON storage (crash-safe writes, no half-written files)
- Fully typed, tested with pytest, linted with Ruff + Black + mypy
- CI on GitHub Actions across Python 3.10–3.13
pip install -e ".[dev]"todo add "Buy milk"
todo add "Go grocery shopping" --priority high
todo list
todo list --all # include completed tasks
todo done 1
todo remove 2
todo clear --yesBy default, tasks are stored at ~/.config/todo_cli/todos.json. Set the
TODO_CLI_HOME environment variable to override the storage directory.
pip install -e ".[dev]"
pre-commit install
ruff check .
black --check .
mypy src
pytest