3 releases

0.1.3 Feb 15, 2024
0.1.2 Feb 15, 2024
0.1.1 Feb 14, 2024
0.1.0 Feb 14, 2024

#948 in Command line utilities

25 downloads per month

MIT license

348 lines

Rusty Time - A simple time tracking tool

A cli(maybe later more) to easily track your project times right in your terminal. This project is in a very early stage, things may change quickly.

This project is inspired by Watson, which currently has an uncertain future and is not being maintained. However, since I want to use some features of Watson that are a bit buggy at the moment I started to develop my own time tracking CLI in Rust. Maybe someone will find it useful.

What's working

A constantly changing list of things that work or should work in future.

  • Start a frame
    • with tags
      • you'll be asked for confirmation if it's the first time you using a tag
    • with start time, --at "15:04"
    • with stopping of current running frame, start time also works here
  • Stop a frame
    • with stop time, --at "15:04"
  • configuration
    • rustytime home, where the data is stored
    • tag confirmation
    • stop on start
    • allow start/stop times in future
    • ...
  • Frame Log
    • basic Frame Log functionality rustytime log
    • pretty log rustytime log --format pretty
    • json log rustytime log --format json
    • csv log rustytime log --format csv
    • yaml log rustytime log --format yaml
    • filter by tags, time ranges
  • Aggregations
  • Reports


cargo install rustytime


Start a frame

Start a frame with tags "rustytime" and "cli" now.

rt start +rustytime +cli

Start a frame with tags "rustytime" and "cli" at "15:04".

rt start +rustytime +cli --at "15:04"

Stop a frame

Stop the current frame now.

rt stop

Stop the current frame at "15:04".

rt stop --at "15:04"


Get the current status.

rt status


Json log of all frames.

rt log --format json

or short

rt log --format j

or even shorter

rt log -f j

Csv log of all frames.

rt log --format csv

or short

rt log --format c

or even shorter

rt log -f c

Yaml log of all frames.

rt log --format yaml

or short

rt log --format y

or even shorter

rt log -f y


~161K SLoC