Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Work: a terminal todo manager



  • use a sqlite database with rusqlite

  • command line parsing with

  • fuzzy finder built in with skim

  • config file parsing with confy


work ls to list all of your events. Ex:

[user@hostname ~]$ work ls
❌ | 1 | test
❌ | 2 | another another test
✅ | 3 | another test

work add <string of an event to add> add an event. Ex: work add "test"

work rm <event id> to remove an event. Ex: work rm 1

work rm fzf to remove an event or multiple through a fuzzy finder. Search through the events and press tab to select multiple.

work rm all delete the whole database of events.

work edit <event id> get to a prompt to edit an event. This will allow you to edit the name and make it done. Ex: work edit 1

work edit fzf the same as work rm fzf except multiple are not allowed.

work done <event id> Mark an event as done. Ex: work done 1

work done fzf the same as work rm fzf except marking events done. Multiple are allowed.


You will find a worktodo.toml file in ~/.config/worktodo/ (I think it will be on Library/Preferences/rs.worktodo/worktodo.toml on macos because that is the default config location) this is the method of configuration. The settings are self explanatory. The config file will be auto generated on the first use of work.


emojis = true
backticks = true
verbose = true
show_id_in_ls = true
ask_for_confirm = true


The database file will be stored at ~/.local/share/worktodo/work.db It is a sqlite database.


  • Only works on unix systems for now (I dont have any windows stuff to test on for now). If anyone wants to test it please do!
  • on macos the config file is in a different place. i think Library/Preferences/rs.worktodo/worktodo.toml.


It is on Yay!

cargo install work

You can also

git clone
cd work
cargo install --path .