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).
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
balancecommand - the
reportcommand has been renamedstatement - 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
- 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