Skip to content
treyorrPublic

About

tiny tidy todos

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

tody

tiny tidy todos = tody

Path-aware terminal task manager for global and project-local todos.

tody demo

Install and run

curl -fsSL https://tlo3.com/tody-install.sh | sh
tody --version

If tody is not found, add this and restart your shell:

export PATH="$HOME/.local/bin:$PATH"

Start using it:

tody add Buy groceries             # global task (when not in a project, quotes optional!)
cd ~/projects/my-app
tody add Fix login bug              # auto-detected as local (you're in a git repo)
tody add Read docs --global         # explicitly global, even inside a project
tody                                # fast list of pending tasks for current project
tody done                           # interactive picker to mark tasks complete
tody done 1 2                       # batch complete tasks #1 and #2
tody list --all                     # grouped view across all projects
tody projects                       # summary of all projects and task counts

Command quick guide

If you want to... Run Aliases Result
see pending tasks tody or tody list ls, l, show local tasks for current project (or global outside repo)
add a task tody add Fix the bug a, new, create, + quotes optional; auto-scoped to current project
add global/local task tody add Task -g / -l explicitly global or local
complete a task from picker tody done or tody pick i, interactive interactive prompt to select task
complete task(s) by ID tody done 1 2 d, complete, check, x marks one or more tasks as completed
edit a task's title tody edit 1 New title here rename, mv, modify updates task title (quotes optional)
undo / reopen a task tody undo or tody undo 4 reopen, uncheck restores last completed or specific task ID
delete task(s) tody rm 1 2 [-f] delete, remove, del deletes task(s) (-f to skip confirmation)
clear completed tasks tody clear [-a] sweep, clean removes completed tasks for project (or all with -a)
see project overview tody projects proj, p table of all projects, pending/done counts
filter by project tody list -p my-app view tasks for a specific project from anywhere
scriptable plain list tody list --plain tab-separated output for piping (fzf, grep)
get pending count tody count stats, n numeric count (perfect for Starship/tmux prompts)
generate shell completions tody completions zsh completion autocompletion scripts for bash, zsh, fish, etc.
view recent activity tody log [--all] history, activity completed task timeline with relative timestamps
prune orphaned projects tody prune cleans up tasks from deleted project directories
update tody tody self-update upgrade, update self-update from GitHub releases
view / edit config tody config [set/get] view all settings or get/set specific keys

What it does

  • Smart auto-detection: In a git repo, tasks are local to that project. Outside, they are global.
  • Fast CLI flow: Bare tody instantly shows what's next. tody done opens the interactive picker.
  • Batch operations: Complete or delete multiple tasks at once (tody done 1 2 3).
  • Quote-free input: Just type tody add Review PR and deploy to staging.
  • Project discovery: tody projects gives a birds-eye view of all your repos and tasks.
  • Shell prompt friendly: Embed tody count in your Starship or tmux status line.
  • Zero config: Runs on a local SQLite database, single binary, lightning fast.

Configuration

Config file (macOS/Linux): ~/.config/tody/config.toml

default_command = "list"         # list | picker
default_view = "auto"            # auto | merged | local | global
color_local = "bright_magenta"   # ANSI color name
color_global = "bright_cyan"     # ANSI color name
tody config                      # view all active configuration settings
tody config set default_command picker
tody config set default_view local
tody config get color_local

Data storage

Item Path (macOS)
Database ~/Library/Application Support/tody/tody.db
Config ~/.config/tody/config.toml

Paths are resolved via dirs, so Linux and Windows use their platform conventions too.

Other install options

Install a specific release:

curl -fsSL https://tlo3.com/tody-install.sh | TODY_VERSION=2026.8.1 sh

Install to a custom location:

curl -fsSL https://tlo3.com/tody-install.sh | BINDIR=/usr/local/bin sh

Install directly from source (Rust 1.85+):

cargo install --git https://github.com/treyorr/tody.git

Or build from a clone:

git clone https://github.com/treyorr/tody.git
cd tody
cargo install --path .

Development

Requires mise or Rust 1.85+.

git clone https://github.com/treyorr/tody.git
cd tody
mise install
mise run ci
mise run fmt
mise run lint
mise run test
cargo run -- add "test"

Versioning

tody uses CalVer: YYYY.MM.COUNTER.

Contributing

See CONTRIBUTING.md.

License

MIT

About

tiny tidy todos

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages