Skip to content

Latest commit

 

History

History
57 lines (36 loc) · 3.67 KB

CONTRIBUTING.md

File metadata and controls

57 lines (36 loc) · 3.67 KB

Ways to Contribute

There's a plethora of ways to contribute to Asgard!

  • Spreading the word by talking, tweeting, blogging, presenting, submitting talks, writing tutorials or articles (or a book!), sharing success stories, adding your project/company to Who is Using Asgard, etc.
  • Helping other users by participating in Asgard Users Google Group
  • Improving and extending our wiki
  • Fixing open issues listed in the issue tracker
  • Proposing, discussing, and implementing new features
  • Participating in the Asgard Show on Google Hangouts
  • Join us at Netflix and work on Asgard fulltime!
  • Surprising us with some other form of contribution!

All forms of contribution are very much appreciated.

Communication

Good communication makes a big difference. We are always eager to listen, reflect, and discuss. Don't hesitate to get in touch via the issue tracker or our user forum. Choose whatever medium feels most appropriate.

Contributing to Asgard

To contribute code or documentation, please submit a pull request to the GitHub repository.

A good way to familiarize yourself with the codebase and contribution process is to look for and tackle low-hanging fruits in the issue tracker. Before embarking on a more ambitious contribution, please quickly get in touch with us. This will help to make sure that the contribution is aligned with Asgard's overall direction and goals, and gives us a chance to guide design and implementation where needed.

We appreciate your effort, and want to avoid a situation where a contribution requires extensive rework (by you or by us), sits in the queue for a long time, or cannot be accepted at all!

Proposing new features

If you would like to implement a new feature, please raise an issue before sending a pull request so the feature can be discussed. This is to avoid you spending your valuable time working on a feature that the project developers are not willing to accept into the code base.

Fixing bugs

If you would like to fix a bug, please raise an issue before sending a pull request so it can be discussed. If the fix is trivial or non controversial then this is not usually necessary.

Coding style guidelines

The following are some general guide lines to observe when contributing code:

  1. Everything needs to be tested
  2. All source files must have the appropriate ASLv2 license header
  3. 4 spaces for Groovy and Java and JavaScript. 2 spaces for GSP and HTML. When in doubt, make your spacing look identical to the code nearby. And no tab characters. Just to be sure, you might want to also check the Groovy code style guide)[http://groovy.codehaus.org/Groovy+style+and+language+feature+guidelines+for+Java+developers]
  4. Please run Asgard's CodeNarc task (grails codenarc)
  5. Groovydoc all classes and public methods
  6. Everything needs to be tested (see point #1)

Compatibility

Asgard supports JRE 1.6 and higher. Therefore, language features and APIs that are only available in Java 1.7 or higher cannot be used. Exceptions to this rule need to be discussed beforehand. The same goes for changes to user-visible behavior.

Tests

All tests are written in Spock.

The Asgard Team