A CLI app that helps you track work sessions. The workflow is straightforward:
- Start a new session.
- Work.
- End the session with a short note about what you've done.
- End any running session by its ID. If no ID is provided, the app ends the most recently started session.
- Update the note of any session by its ID.
- Use labels to organize and differentiate your sessions.
- View all of your sessions in a table format with support for filtering by date or label.
- No pause / resume features (by design). From experience, it's better to end a session and rest, rather than falling into an endless pause / resume cicle.
You'll need the standard Rust toolchain to build the app. Go install it.
- Clone the repository.
- Go to the project's root folder.
- Build the app:
$ cargo build --release- Run the app:
$ WTT_PATH_DATABASE=~/.local/share/wtt.json ./target/release/wtt --helpThe environment variable "WTT_PATH_DATABASE" tells the app where to store your sessions and labels. If you set the variable, the data will be saved to the specified file. Otherwise, the app will default to "db.json" in the current folder.
I have the following script to avoid specifying the path to the store file every time.
#!/bin/bash
export WTT_PATH_DATABASE="$HOME/.local/share/wtt.json"
$HOME/repos/wtt/target/release/wtt "$@"Make this script executable (chmod +x name_of_the_script) and put it into a folder which is mentioned in $PATH.
Also I have the following alias in my Bash config.
alias wttt="wtt session table --from today"# Display all of today's sessions. You will probably use this often,
# so I suggest creating an alias for the command.
$ wtt session table --from today
# Start new session with a label.
$ wtt session start -l personal-project
# Do your work.
# Work..
# Work...
# End the last session. Add a note about what you did.
$ wtt session end --note "Did ..."
# View today's sessions again to see the completed entry.
$ wtt session table --from today
# Expore the help commands to see all available options.
$ wtt --help
$ wtt session --help
$ wtt session note --help