worktrack

worktrack is provides a small binary that tracks one of your directories for file changes. Assuming your directory has many directories being git repositories underneath.

Whenever a file is modified, removed or added worktrack will search for the git respository this file belongs to and make an entry into it's own database with a timestamp.

Installation

Install the gemfile

gem install worktrack

Start worktrack

worktrack

worktrack will add a directory called ".worktrack" under your home directory with a config.yml file containing the configuration. By default it will start monitoring the directory ~/Documents for changes and store these changes to a SQLite database under ~/.worktrack/changes.db.

Show work done

Running the command

worktrack -show

will show a list of changes made on the month before and the current month like this:

worktrack - another great nedeco idea
5807 changes in 7 Repositories

calculation timeframe from 2013-01-01 00:00:00 UTC until 2013-02-01 00:00:00 UTC
Total minutes worked: 0
calculation timeframe from 2013-02-01 00:00:00 UTC until 2013-02-19 22:28:15 +0100
worktrack
    52 minutes 2013-02-16 22:09:07 +0100 - 2013-02-16 23:01:56 +0100
    37 minutes 2013-02-18 00:18:49 +0100 - 2013-02-18 00:56:06 +0100
puppet
    15 minutes 2013-02-17 09:32:39 +0100 - 2013-02-17 09:47:44 +0100
    15 minutes 2013-02-18 12:12:45 +0100 - 2013-02-18 12:28:28 +0100
rollout_admin
    15 minutes 2013-02-18 15:28:10 +0100 - 2013-02-18 15:43:11 +0100
    25 minutes 2013-02-19 07:07:39 +0100 - 2013-02-19 07:33:29 +0100
admin-interface
    60 minutes 2013-02-19 07:50:06 +0100 - 2013-02-19 08:50:15 +0100
    52 minutes 2013-02-19 09:32:38 +0100 - 2013-02-19 10:24:46 +0100
    16 minutes 2013-02-19 10:41:08 +0100 - 2013-02-19 10:57:47 +0100
syslog-analyzer
    95 minutes 2013-02-19 13:44:37 +0100 - 2013-02-19 15:20:01 +0100
Total minutes worked: 382

Credits

Thanks to the team around guard to provide the listen gem. Thanks to Jan for treating me to track the time spent on work for customers better ;)

Todo

Fork, branch, change, commit merge requests.

This is a starting point that shows an idea. It needs much more work to become a usefull tool.