TimeTap helps you track the time you spend coding on each project while in TextMate.
Once it's launched you don't have to bother anymore starting/stopping timers or inventing some arbitrary amount of time to fill your fancy time tracker.
gem install time_tap timetap --install
… and visit localhost:1111
TimeTap keeps an eye on the modification time of the frontmost file in TextMate and tells you how much time you spent on each project.
If you stop coding for a while while squeezing your brains TimeTap understands. TimeTap will consider "coding time" pauses to up to 30 minutes between to saves in the same project.
Technically it saves a timestamp+path of the frontmost file in TextMate every 30 seconds, then it digests all this information in a nice Sinatra webapp.
The server will respond on http://0.0.0.0:1111/.
TimeTap uses a config file to control where projects are kept, etc. the path is:
Which can look like this:
root: "~" # root is where the logs will be saved code: Code # code is where all your projects live nested_project_layers: 1 # see below about nested projects port: 1111 # the port on localhost for the web interface ruby: /usr/bin/ruby # the ruby you want to use textmate: projects: ~/Development/Current Projects # where you keep your .tmproj files
TimeTap assumes you keep your projects inside a specific folder, like this:
~/Code/ tap/ tik_tak/ tk-win/ AcmeCorp/ website/ intranet/
But if you keep your projects grouped in subfolders like this:
~/Code/ Clients/ AcmeCorp/ website/ intranet/ BetaCorp/ skunkworks/ OpenSource/ project_one/ timetap/
nested_project_layers key tells TimeTap how deep to look for project names inside a hierarchy (in the example a value of 2 will catch
Use it, love it, then...
ruby -Ilib bin/timetap or run
rake launcher && launchctl load ~/Library/LaunchAgents
to add a plist for OSX's launchd and have it launched automatically at login.
Copyright (c) 2009 Elia Schito. See LICENSE for details.