marcinbunsch edited this page Sep 14, 2010 · 13 revisions

things-client is a ruby-base client for API of the popular GTD app Things, available on the Mac.


To use things-client you need Things which is version 1.2.0 or greater.


The gem is hosted on Gemcutter. To install it, use the following command:

sudo gem install things-client --source http://gemcutter.org

To get the latest version, clone the gem from github and run rake install:

git clone http://github.com/marcinbunsch/things-client
cd things-client
rake check_dependencies:runtime
sudo rake install


Before using this gem you must require it by calling:

require 'things'


The Application can be accessed at all times by calling Things::App. It has a few useful methods which will be described below. If you want Things to gain focus and move to the front of the window stack, you can call the Things::App.activate method.


Todos can be accessed via the Things::Todo class.


Lists can be accessed via the Things::List class.


Projects can be accessed via the Things::Project class.

Areas of Responsibility

Areas of Responsibility can be accessed via the Things::Area class.


Tags can be accessed via the Things::Tag class.


People can be accessed via the Things::Person class.


You’re more than welcome to fork and improve this gem. Usual rules:

  • Fork the project.
  • Make your feature addition or bug fix.
  • Add tests for it. This is important so I don’t break it in a
    future version unintentionally.
  • Commit, do not mess with rakefile, version, or history.
    (if you want to have your own version, that is fine but
    bump version in a commit by itself I can ignore when I pull)
  • Send me a pull request.


Copyright © 2010 Marcin Bunsch. See LICENSE for details.