Timeless

Timeless is a simple command line time tracker.

Installation

Add this line to your application’s Gemfile:

ruby
gem 'timeless'

And then execute:

$ bundle

Or install it yourself as:

$ gem install timeless

Usage

timeless is a simple command line time tracker. Entries store the following information:

  1. start time
  2. end time
  3. notes

timeless allows one to

  • run a pomodoro timer
  • clock time using a “stopwatch” (with start and stop commands)
  • manually entering data
  • print a text report, possibly filtered by date ranges of notes’ content
  • export to csv

Timeless has also some basic support for key-pair values in the notes form. They can be used to assign a special meaning to some strings and improve filtering and exporting. Two special keys are p for projects and c for clients. These two keys are exported in dedicated columns when exporting data to csv.

Some non nominal conditions are also handled (e.g., starting a clock twice, trying to stop when no clock was started).

Examples

Get information about command syntax:

timeless -h

Run a pomodoro timer:

timeless pom p:project meeting with c:john
timeless pom --duration 60 p:prj2
timeless pom --long # default to 50 minutes

Start clocking using a stopwatch:

timeless start requirements doc
timeless start --at 'thirty minutes ago' fixing bug 182 for c:tim
timeless start --force --at 'five minutes ago' requirements document for p:prj1</code>

<code>Stop clocking:
timeless stop 
timeless stop forgot notes on start
timeless stop --last # reuse the notes of last entry
timeless stop --at 'five minutes ago'
timeless stop --start '1 hour ago' --at 'now' clocked a full entry

Enter a full entry:

timeless clock activity on p:project # from end of last entry to now
timeless clock --start 'three hours ago' --stop 'five minutes ago'

What was i doing?

timeless forget   # forget pending clock
timeless last     # print last entry
timeless current  # print current entry

Reporting and exporting

timeless report
timeless report --from yesterday --filter p:project
timeless export</code>

<code>Notice that even though data is stored in csv, the export command exports data in a format which is more easily parsed by a Spreadsheet such as LibreOffice.

If something goes wrong

Data is stored in the CSV file ~/.timeless.csv. You can edit the file to manually fix entries if you make some mistake.

License

Licensed under the terms of the MIT License.

Contributing

  1. Fork it ( https://github.com/[my-github-username]/timeless/fork )
  2. Create your feature branch (`git checkout -b my-new-feature`)
  3. Commit your changes (`git commit -am ‘Add some feature’`)
  4. Push to the branch (`git push origin my-new-feature`)
  5. Create a new Pull Request