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:
- start time
- end time
- 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
- Fork it ( https://github.com/[my-github-username]/timeless/fork )
- Create your feature branch (`git checkout -b my-new-feature`)
- Commit your changes (`git commit -am ‘Add some feature’`)
- Push to the branch (`git push origin my-new-feature`)
- Create a new Pull Request