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).

If you do not want to type timeless every time, you can invoke a console:

timeless console
timeless:000> start
timeless:001> stop
timeless:002>

More information with:

timeless help                          # get list of available commands
timeless help command                  # help about command
timeless man                           # output this README file

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

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 current  # print current entry
timeless forget   # forget pending clock

What did I do?

timeless last     # print last entry

Reporting and exporting

timeless statement
timeless balance --from yesterday --filter p:project
timeless export

Notice that even though timeless uses CSV as its native format, the export command exports to a CSV file 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.

Version History

0.4.0

  • second public release
  • new balance command
  • the report command has been renamed statement
  • interactive console
  • more detailed help for commands
  • fixed a bug in the last command: now it returns the last activity in chronological order (rather than the last activity which has been clocked)

0.2.0

  • initial public release

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