Need help with tinker?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

198 Stars 26 Forks MIT License 94 Commits 9 Opened issues


Social code collaboration made simple.

Services available


Need anything else?

Contributors list

No Data


Tinker is an open-source tool to help people collaborate on code. It can also be found at

Installing Tinker

Tinker requires:

  • Ruby 1.9+ && gem
  • Node.js && npm
$ git clone ~/projects/tinker
$ cd ~/projects/tinker
$ git submodule update --init --recursive
$ gem install bundler
$ bundler install
$ mysql -u user -p tinker < schema.sql
$ cp config-sample.yml config.yml

At this point, you'll want to crank open your editor of choice and modify

. A sample config could look something like this:
  client: 'http://localhost:9393/'
  sandbox: 'http://localhost:9394/'

db: 'mysql2://user:[email protected]/tinker' ga_code: 'UA-29044087-1'

Running locally with thin

Tinker is written with Sinatra, which is written on top of Rack, so any kind of Rack-compatible server should work.

Locally, I run Tinker on Thin, so that's what I'll be using in this example.

$ thin -p 9393 -e development -P tmp/pids/ -d -D start
$ thin -p 9394 -e development -P tmp/pids/ -d -D start

The client interface can now be found at

and the sandbox at

Compiling the css

$ npm install -g less
$ cd ~/projects/tinker/
$ lessc ./src/less/client.less > ./public/tinker.client.css
$ lessc ./src/less/embed.css > ./public/tinker.embed.css

Compiling the javascript

$ npm install -g wrapup
$ cd ~/projects/tinker/
$ wrup -r ./src/js/client.js --output ./public/tinker.client.js
$ wrup -r ./src/js/embed.js --output ./public/tinker.embed.js


Copyright (c) 2011 Chiel Kunkels

Tinker is licensed under the MIT license.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.