Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sharplet/trak

A command line tool for tracking chunks of time
https://github.com/sharplet/trak

Last synced: 16 days ago
JSON representation

A command line tool for tracking chunks of time

Awesome Lists containing this project

README

        

# Trak: track chunks of time from the command line

Trak, v0.0.4 (May 1, 2012)
Written by Adam Sharp

## Notice

Trak was recently a Perl script. It has been ported to Ruby, but the
code really looks like it's taken a beating and is definitely NOT what I
want it to ultimately look like. Much more ruby-fying to happen yet, as
well as support for the excellent
[Chronic](https://github.com/mojombo/chronic) gem for natural language
date parsing in the pipeline.

It's now structured as a RubyGem and should hopefully be available on
RubyGems soon.

Stay tuned.

## Description

Trak is a utility that allows you to quickly make a record of how much
time you've spent on various tasks throughout the day.

Work logs are stored in `/Users/yourusername/Documents/Tracker/` with
the format `YEAR-MONTH-DAY-time-log.txt`.

An example work log that trak will create:

2011-09-01 9:00
30: nap
45: procrastinate
30: uni
120: trak

## Installation

Trak is available from [RubyGems](https://rubygems.org/gems/trak):

$ gem install trak

## Usage

trak [-d|--date DATE] ## # => data entry
trak [-d|--date DATE] [-r|-l] # => reporting
trak [-d|--date DATE] -e # => manually edit time log

Where:

* `##` is a decimal signifying how much time has been spent.
* `` is either hours (`h/hr/hour/hours`) or minutes
(`m/min/minute/minutes`). `` is optional and if ommitted,
Tracker will interpret the time entered as minutes.
* `` is a string containing a brief description of the
activity.
* `DATE` is a string of the format `YYYY-MM-DD` which represents any
date. This effects any of Tracker's modes, i.e., insertion, editing or
reporting.

### Descriptions

You can use either

$ trak 30 "Foo bar"

or

$ trak 30 Foo bar

as everything after the first argument is considered the name of the
task.

### Entering time

These are all valid commands:

$ trak 1h Write trak documentation # => 1 hour
$ trak 30min Rewrite trak documentation # => 30 minutes
$ trak 4hours Refactor trak # => 4 hours
$ trak 15 Lunch # => 15 minutes