Batman.js is no longer in production at Shopify and is not actively maintained.

This website is left for reference (and for old times' sake).


Thanks for your interest in contributing to batman.js! There are several ways you can help.

Be Part of the Community

Join the conversation about batman.js! You can participate by:

  • Opening a bug report or feature request as a Github issue
  • Striking up a conversation in our IRC channel at #batmanjs on
  • Mentioning @batmanjs on Twitter
  • Starting a thread on the google group
  • Participating in conversations on the Github repo

Contribute to the Codebase

There are several ways to contribute to the batman.js source code:

The best way to become a contributor is to start contributing! The batman.js repo (batmanjs/batman) has instructions for working with the batman.js source.

Improve the Guides

To improve the guides, make a pull request to this website's source code, batmanjs/

To edit the guides:

  • Install jekyll and the JS dependencies:

    gem install jekyll
    npm install
  • Start the jekyll server in watch mode:

    jekyll serve --watch

    Then, open the local version of the site at http://localhost:4000

  • Modify the guides (found in _guides/)

  • In another console, run the guide generator:

    chmod +x bin/generate_guides
  • Refresh the local guide page. You should see your changes!

Improve the API Docs

The API docs are kept in the batman.js repo, batmanjs/batman. There's also a documentation readme with instructions about how the docs are parsed for presentation.

After you've updated the API docs, you can preview the changes in your local copy of batmanjs/

$ cd ~/code/
$ # --dir is the path to batman.js documentation:
$ bin/generate_docs --dir ~/code/batman/docs 
$ jekyll serve

Now, your local batman.js website will have updated API docs!

Help us improve our documentation!

Contributions to this page are welcome on Github. If you find a problem but you cannot fix it, please open an issue.

Discussion regarding batman.js documentation is also welcome on our mailing list.