In my new job, I'm not required to track my working time anymore. This feels great, but since I'm getting paid for working 40 hours a week, I decided to track it myself and built a simple and friendly CLI tool: timetrace.
Installing timetrace
timetrace is available for many platforms. Since I'm on macOS, I'll simply use Homebrew:
brew tap dominikbraun/timetrace
brew install timetrace
For other installation methods, check out the installation instructions.
Creating a project
timetrace uses projects to store what you are currently working on. For example, creating a project called make-coffee
is pretty simple:
timetrace create project make-coffee
Tracking time
To start tracking time for a project, run the start
command and provide the project name:
timetrace start make-coffee
You'll see the following output:
✔️ Started tracking time
Current tracking status
What project are you currently working on? And how long have you been working on it? The status
command answers such questions.
timetrace status
+-----------------+--------------------+--------------+
| CURRENT PROJECT | WORKED SINCE START | WORKED TODAY |
+-----------------+--------------------+--------------+
| make-coffee | 0h 5min | 4h 20min |
+-----------------+--------------------+--------------+
Stop tracking time
Once you've finished your work, stop tracking time.
timetrace stop
List today's records
Tracked time is stored as a record. To list all records, use the list records
command and provide the current date. On our example, this is only one record:
timetrace list records 2021-05-18
+---+-------------+-------+-----+----------+
| # | PROJECT | START | END | BILLABLE |
+---+-------------+-------+-----+----------+
| 1 | make-coffee | 14:44 | --- | no |
+---+-------------+-------+-----+----------+
This overview is useful for running other commands like get record
, edit record
or delete record
, since you'll have to provide the record's start time for them.
To get a complete list of available commands, run timetrace -h
or check out the command reference
Planned features
This was a quick usage example including the most important commands I'm using every day. But there are more advanced features planned. Some of them are:
- Lengthen and shorten existing records
- Generating reports of tracked time
- Reverting changes done with
edit
ordelete
- Project modules for managing sub-modules
If you'd like to contribute or have some suggestions, check out timetrace's open issues!
Top comments (0)