Skip to content

Instantly share code, notes, and snippets.

@johnmdonahue
Created June 3, 2012 16:11
Show Gist options
  • Save johnmdonahue/2864042 to your computer and use it in GitHub Desktop.
Save johnmdonahue/2864042 to your computer and use it in GitHub Desktop.
Revised EE Contributing Wiki

#Contributing to EpicEditor

Suggestions for contributing to EpicEditor. No fix or feature is too small. Thanks for contributing!

##Issues

Before submitting a bug report or feature request, please check to make sure it hasn't already been submitted. You can indicate support for an existing issue by commenting on that issue. When submitting a bug, please include any details necessary to reproduce it (e.g. browser, OS etc). And if you're feeling frisky, include a failing test!

Pull requests

If you are fixing a bug or adding a feature, please report the bug or feature and reference the ticket number in the commit message, for example:

$ git commit -m "add semicolon. fixes #75"

This makes it easier to track stuff down later on and will also add the commits directly into the GitHub issue with the matching issue number like comments.

Requirements

We rely on Jake to manage tasks, foounit for tests, JSHint for linting, UglifyJS for minification, and Marked to generate the docs. All of these run on NodeJS and will need to be installed globally via npm as follows:

$ sudo npm install -g jake foounit jshint uglify-js marked minimatch

Flow

  1. Fork the project.
  2. Create a topic branch e.g. $ git checkout -b myfeature develop $ git checkout -b hotfix-1.2.1 master.
  3. Add tests where applicable.
  4. Implement your feature or bug fix. Changes to EpicEditor core should be made to the src/ files. Not the built files in epiceditor/.
  5. Run tests: $ jake test then go to: http://localhost:5057/spec/runner.html
  6. Rebuild: If everything is passing, $ jake build. This will run linting and if linting fails you'll need to fix your lint errors and run $ jake build again.
  7. Commit and push your changes. Try to reference the associated ticket number in your commit message as noted above.
  8. Submit your pull request - ideally targeting the develop branch for anything other than hotfixes.

Updating Docs

The flow to update the docs is similar. Do steps 1 and 2 above then:

  1. Make your changes to the /docs/* files or README.md. NOTE: index.html is built from the README and should not be directly modified.
  2. If you modify the README.md, header.html, or footer.html files you'll need to run $ jake docs to rebuild index.html and see the changes.
  3. Follow steps 7 and 8 above.

Merges

A core developer will add a black label with a version number where this was pulled in, i.e. if the fix was included 0.1.1 then we will add a black label with 0.1.1 and close the ticket. Closed tickets do not mean they are in the release!

Development tips

  • You can run $ jake build:force to skip the linter allowing you to put in debug statements or other lint-failing code while you're working.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment