Introduction

Auto Timesheet is a free, and open source CLI application for automating the maintenance of timesheets. It allows you to clock in, and out just by typing commands into the terminal:

> auto-timesheet clockin
Clocked in.
> auto-timesheet clockout
Clocked out. You have worked 3 hours, 15 minutes
> auto-timesheet report
Thursday (3 hours, 0 minutes):
09:00-12:00 (3 hours, 0 minutes)
Friday (4 hours, 0 minutes):
08:00-12:00 (4 hours, 0 minutes)
Saturday (0 hours, 0 minutes):
13:00-16:15 (3 hours, 15 minutes)
Total work completed: 10 hours, 15 minutes

The application is backed by an SQLite database. When you clock in, it doesn’t start a timer; it simply creates an entry in the database. This means you don’t need to keep the application open, and you can safely reboot without losing any information.

Installation

Auto Timesheet is a Clojure application that can be compiled into a native image using GraalVM, which has minimal dependencies. It’ll work fine across Windows, Mac, and Linux.

Currently, its packaged in Brew, so if you have that installed on either Linux, or Mac, you can just run

brew tap jamescrake-merani/tap
brew install auto-timesheet

Building from source should be fairly easy as well. You’ll need Clojure, and a JVM with GraalVM native image. For more information, see the README file in the repo.