work
work
is a stupid simple time tracker.
A typical work
-day might look like,
$ work task "First task of the day"
$ work task "Second task of the day" --chore
$ work list
08:29 - 10:20 Chore Second task of the day 2h 51min
08:19 - 08:29 Work First task of the day 0h 10min
$ work status
Current task: "Second task of the day"
Type: Chore
Duration: 2h 51min
$ work stop
$ work report
2024-12-01 3h 01min (Total)
2h 51min (Chore)
0h 10min (Work)
Week Total: 3h 01min
Usage
To begin a task,
work task "Starting my first task"
Tasks have 1 of 4 possible classifications:
The default is Work
and the others are enabled by their respective flag.
For example, to create a Break
task,
work task --break "Going for lunch"
The previous task will end when a new task begins.
Similarly, a task can be stopped explicitly with,
work stop
work status
, work list
, and work report
are available to analyze current and previous tasks.
Shutdown and Notification services
Optionally, install systemd
user services which notify you when you're not tracking any tasks and stop any running tasks on system shutdown.
To install and enable the services,
work install
They can be disabled with,
work uninstall
Autocomplete
work
provides autocomplete for bash
, fish
, powershell
and zsh
shells.
For example, to enable autocomplete for the bash
shell,
work completion bash | sudo tee /etc/bash_completion.d/work > /dev/null
Note: this does require the bash-completion package is installed.
For more information, see work completion <shell> --help
for your respective <shell>
.
Install
pip:
work
is available as a pypi package.
pip install work-bin
go:
go install github.com/jmelahman/work@latest
github:
Prebuilt packages are available from Github Releases.