No description or website provided.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Jammer provides a Ruby-based executable for managing Jam packages, 'cause let's be honest: JS is nice, but JS wrapped up with some Ruby is at least twice as nice. Jammer provides the ability to easily create, update, and publish Jam packages with a convenient command line interface. Jammer expects you to manage your source code using Git, so if you aren't, fork away and add other scm support.



  1. Install Jam. NPM is recommended. npm install -g jamjs will install it globally if you have NPM.

  2. gem install jammer You may need to preface this commmand with sudo depending on your Ruby installation


Creating a New Package

To create a new jam package:

jammer new [package_name]

This will prompt you for some basic information about the package (which you can always change later) and then create a new directory with the given name. Inside that directory will be the necessary structure for a basic jam package. The most important file created by this command is the package.json file.

Running jammer new test-lib and providing responses for the following prompts:

Package description ('The test-lib package'): This is a description for the test-lib.
Package homepage (''):

would result in a package.json file that looks like this:

  "name": "test-lib",
  "version": "0.0.1",
  "description": "This is a description for the test-lib.",
  "homepage": "",
  "jam": {
    "dependencies": {
    "main": "test-lib.js",
    "include": [
  "maintainers": [
      "name": "Colin Rymer",
      "email": ""
  "contributors": [
      "name": "Colin Rymer",
      "email": ""
  "repositories": [
      "type": "git",
      "url": ""
  "github": ""

Note that the github attribute was set based on the detection of a github package homepage. If the homepage is not a github url, then the repositories attribute will be left empty and the github attribute will not be added.

Publishing a Package

To publish the package, run jammer publish. This command will exit with an error message if not on the master branch of a repository. If it is on the master branch, it will create a tag for the version number and publish the code to the repository specified in your .jamrc file.

If the jammer publish command is run and the version number has not been updated, either manually or with jammer bump major, jammer bump minor, or jammer bump patch, then the command will exit with an error message specifying the version issue.

Updating a Package


  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request



Huge thanks Primedia for encouraging open source contributions.