CONTRIBUTING.md 5.7 KB

Start Contributing by talking about Amber

Filing Issues

If you think Amber is not working as expected, You can start by asking on IRC or the Mailinglist. Please make sure that you have first checked the following guides:

If the issue can not be resolved you should file an issue on the respective tracker.

Before reporting an issue, try to reduce the issue to the bare minimum required to reproduce it. This allows us to track down and fix the issue in an easier and faster way.

Additionally, you should give us enough information to reproduce the issue. Therefore, include versions of your OS, Amber, Node.js, Grunt, and possibly used libraries as well as sample code. If you don't list the exact steps required to reproduce the issue we won't be able to fix it.

Afterwards, report the issue on one of the following trackers:

Developing Amber

If you want to get started developing Amber itself there are a few links to get you started

If you want to get serious with Amber development you should read the Coding Conventions and check if you have all development dependencies installed (as indicated in Getting Started):

  • Git (to get a clone of the repository)
  • Node.js (to run the Amber development server)
  • NPM (to install required Node.js packages)
  • Bower (to install required client side libraries)
  • Grunt-Cli (to compile Amber on the commandline)

Setup your Amber clone

Amber repository contains more parts:

  1. Amber language itself (in root directory),
  2. Amber development helpers (in external/amber-dev),
  3. Amber CLI tool (in external/amber-cli).
  4. In internal directory, there are files that are not part of Amber, but are important to developers wanting to contribute to Amber.

To get your clone, follow this list:

  1. Create a fork of the repository on GitHub
  2. Clone the repository
  3. Run npm install to install dependencies listed in package.json (See here for more info)
  4. Run bower install to install dependencies listed in bower.json (See here for more info)
    • requires bower to be installed via npm install -g bower
  5. Install the cli tool: npm install -g amber-cli.
  6. Run amber serve

Now you should be able to commit changes to your computer.

You should open http://localhost:4000/internal/ to start work on Amber.

Creating a Pull Request

The Amber development model currently revolves around Pull Requests which are created through GitHub

  1. Update to latest Amber master (git pull)
  2. Develop your feature or bugfix in a local branch (not in master)
  3. Create unittest for your feature or bugfix (your feature/fix will be integrated a lot faster if unittests are present)
  4. Enhance/fix Amber
  5. Run the unittests
  6. Commit your changes to disk if all tests are green
  7. Try to split your fix into small Git commits if multiple changes are involved (this makes it easier for us to review the changes)
  8. If you created / deleted / moved API, update API-CHANGES.txt appropriately and commit.
  9. Push the changes to your fork on GitHub git push <your repo> <your branchname>
  10. Submit Pull Request (usually for the Amber master branch)

Compiling Amber with Grunt

Amber uses Grunt.js as build system since version 0.10.0.

To install Grunt.js v0.4.x on the commandline execute the following commands:

npm install -g grunt-cli

Make sure that you have installed all required dependencies via npm and bower. Then you can finally compile Amber using the following command:

cd ${Amber_DIR}
grunt

For Windows support check the Grunt.js on Windows page.