Codeberg Mastodon Blog feed

Timestudy CLI

Timestudy CLI is a tool to track your activities on the command line, heavily inspired by Timewarrior.¹ If you are already a regular user of the command line and want to track your work hours, your personal stuff, or both, timestudy can help you do that. For instance:

ts start; ts tag work; ts stop


For now, cargo install ts-cli. In the future I'll add additional methods.


Once installed, ts is the command to run the program. ts help will help you learn your way around it.

Below is what you can do with it so far. The underlined words are the subcommands which can be run, e.g. ts status.

  • show current tracking status
  • start a new activity
  • stop the current activity
  • cancel the current activity
  • continue the previous activity
  • track an activity that already happened
  • modify the start or end time of an activity
  • delete an activity
  • tag activities
  • untag activities
  • show all tags used, and their count
  • describe an activity
  • show a summary of activities
    • all tags
    • specific tags
    • exclude tags
    • within some time period
  • generate shell completions

You can learn more about each of these, and see examples, by utilizing the help, e.g. ts help start.


If you're interested in checking out the code or seeing the plans ahead, visit https://codeberg.org/kdwarn/ts-cli.

¹ If you've used Timewarrior before, using timestudy should feel pretty familiar. So why create it in the first place? Because I like Timewarrior and thought recreating it would be a good way to hone my skills in Rust. I first focused on replicating all of the basic functionality I used, and after that I began to eliminate little papercuts that arose and to polish the experience. As time goes on, I'll likely add additional features I find useful and timestudy will diverge from its Timewarrior roots. I am not trying to make a full clone of Timewarrior. I have no plans to implement things like its subcommands gaps, join, lengthen, shorten, or split. I'm looking for a bit more of a simplified tool that I enjoy developing and using. I also want to explore building a GUI app, and so I first created a library that any application can utilize. (If you would like to develop your own application, you are welcome to do so! The library is licensed under the GPL.) I am not claiming that Timestudy is better or even as good as Timewarrior, but instead that it is an alternative that perhaps some people might want to use.