A simple command line interface for mite, a sleek time tracking webapp.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


               _                           _ 
            (_) |                         | |
   _ __ ___  _| |_ ___   ___ _ __ ___   __| |
  | '_ ` _ \| | __/ _ \ / __| '_ ` _ \ / _` |
  | | | | | | | ||  __/| (__| | | | | | (_| |
  |_| |_| |_|_|\__\___(_)___|_| |_| |_|\__,_|

A simple command line interface for basic mite tasks.

Installation instructions:

$ gem install mite.cmd

I assume github is in your gem sources. You may need activesupport and activeresource too.

$ gem install activesupport activeresource

Note: On debian/ubuntu libopenssl-ruby is required.

After installation instructions:

You’ll need to configure the client prior using it.
To do this, you can just hammer into your console:

$ mite configure “Your Account Name” “Your API Key”

It will then generate a yml file in ~/.mite.yml with your account information.

The configure command also tries to install the bash auto completion hook into the following files: ~/.bash_completion, ~/.bash_profile, ~/.bash_login, ~/.bashrc.

If your system doesn’t support one of the files above, install the hook by yourself.
In order to work as expected it needs bash to be configured for auto completion.
This is actually quite easy, just append this line to your bash config file.

complete -C “mite auto-complete” mite

You could use this command as an example (replace .bash_login with your bash configuration file):

$ echo “complete -C \”mite auto-complete\" mite" >> ~/.bash_login

Create new time entries with ease:

$ mite “project name” “service name” “start time” “note” $ mite “project name” “service name” “note” $ mite “project name” “start time” “note” $ mite “start time” “note”

The magic of the moment err… start_time:

Append a + to the start time and it will start the tracker.

The most convenient syntax to set the start time is h:mm. So it will accept all these kinds of values: 1:15, 0:01, 24:00.

Short-hand for hours:

  • 3+ will set the start time to 3 hours, and start the tracker
  • 3.5 will set it to 3 hours 30 minutes
  • 0.25+ will make you look like a floating-point fetish, and start the tracker


$ mite “World Domination”

This will start a timer for the project World Domination.

$ mite HugEveryone 0:15

The time entry created by this command, is made for the project HugEveryone and is set to 15 minutes. No tracker will be started.

$ mite HugEveryone Love 1+

Start a time entry for the project HugEveryone with the service Love and set it to 1 hour. The tracker will be started, because of the start time argument was suffixed with a +.


If a project or a service doesn’t exist it will be created.
You can omit one/some of the arguments, namely: project name, service name, note or start time. But they have to be in order. So you can’t set a service name unless you specify a project. This will be fixed in future releases, till then, the arguments rely on their order.

Amazing auto-completion:

This is very nifty. (But maybe you should read the After Installation Instructions before.)
The client was designed to save keystrokes, so I’ve baked in a very handy auto-completion feature. It even ignores the typed case.

Try this:

$ mite [tab]

It will try to auto-complete your projects.

$ mite Project1 [tab]

It will try to auto-complete your services.

$ mite Project1 “System Administration” [tab]

It will try to auto-complete common times!

$ mite Project1 “System Administration” 0:48 [tab]

It will try to auto-complete your notes!

Amazingly fast auto-completion:

The auto-completion feature creates a cache in ~/.mite.cache, if you want to rebuild this cache just hit:

$ mite rebuild-cache

Note: The first run without the cache might be a bit slow.

Controlling timers:

$ mite start

This little cutey will start today’s last time entry, if there is one.

$ mite stop

This will just stop the current timer. (If you like you can use `mite pause` or `mite lunch` too)

Simple reports:

$ mite today

This will generate a report of today’s activity, summarizing your earnings at the bottom.

$ mite yesterday

This will generate a report of yesterday’s activity, summarizing your earnings and the total time at the bottom.
Also works using this_week, last_week, this_month, last_month as argument.

More simple stuff:

$ mite

If there is a running timer, it will output it. Otherwise you should better not listen to it.

$ mite +

Just create a new time entry and start tracking it.

$ mite open

Opens your mite account in a new browser window (Max OSX only) or prints the url to your account.

Feature Request? Problems? Found a bug? Your girlfriend broke up with you?

Your problems are no longer “problems”! They are called issues now, and github has the solution.

If you want to tell me an idea, I’ll happily take care of them in the issues tracker: http://github.com/Overbryd/mite.cmd/issues

All time Highscore of people who were involved
who? what?
Sebastian Munz (yolk) 12 issues found a lot of bugs, did some real use testing. Really cool, thank you!
Julia Soergel (juliasoergel) 2 issues found a bug and `I like your hairstyle!´
Michael Bumann (burmi) 2 issues found two bugs and mentioned a security issue which is now fixed. Yea baby!