Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
82 lines (52 sloc) 2.47 KB


This is a version of GitHub's Campfire bot, hubot. He's pretty cool.

You'll probably never have to hack on this repo directly. Instead this repo provides a library that's distributed by npm that you simply require in your project.

Getting Your Own

Make sure you have node.js and npm installed.

Download the latest version of hubot.

Then follow the instructions in the README in the hubot directory.


Hubot ships with Campfire and Shell adapters. A number of third-party adapters exist which you can install with npm and then use that with your hubot.

Creating an Adapter

Creating an adapter for hubot is very simple. So simple infact hubot himself has written his own adapters. Adapters in the third-party directory will need to have ownership claimed preferably by the original contributor.

  1. Start a project for the hubot adapter npm package
  2. Add hubot 2.0 as a dependency to your package.json file
  3. Add your main adapter file as the main file in package.json

Below is an example of requiring hubot to extend Adapter and exporting a use function that will be used to load your adapter when used.

You will also have access to a @robot.logger instance which you can use for logging. Check out log.js for more information about the logging library used in hubot.

Robot   = require("hubot").robot()
Adapter = require("hubot").adapter()

class MyAdapter extends Adapter
  # You'll want to override the various methods see existing adapters
  # ...

exports.use = (robot) ->
  new MyAdapter robot

Please submit issues and pull requests for third party adapters to the adapter repo not this repo unless it's the Campfire or Shell adapter.


Hubot ships with a number of default scripts, but there's a growing number of extras in the hubot-scripts repository. hubot-scripts is a way to share scripts with the entire community.

Check out the README for more help on installing individual scripts.

Local Testing

Install all of the required dependencies by running npm install.

It's easy to test scripts locally with an interactive shell:

% export PATH="node_modules/.bin:$PATH"
% bin/hubot

... and to run tests:

% make test