How to contribute

Everybody should be able to help. Here's how you can make this project more awesome:

  1. Fork it
  2. improve it
  3. submit a pull request

Your work will then be reviewed as soon as possible (suggestions about some changes, improvements or alternatives may be given).

Here's some tips to make you the best contributor ever:

Green tests

Run the tests using the following script:

bin/tester.sh

Standard code

Use PHP CS fixer to make your code compliant with Redaktilo's coding standards:

php-cs-fixer fix --config=sf23 .

Specifications

Redaktilo drives its development using phpspec:

# Generate the specification class:
phpspec describe 'Gnugat\Redaktilo\MyNewClass'

# Customize the specification class:
$EDITOR tests/spec/Gnugat/Redaktilo/MyNewClass.php

# Generate the specified class:
phpspec run

# Customize the class:
$EDITOR src/Gnugat/Redaktilo/MyNewClass.php

phpspec run # Should be green!

Use cases

Redaktilo has been created to fulfill actual needs. To keep sure of it, use cases are created and are automated: they become part of the test suite.

Have a look at tests/examples, you might add your own.

Keeping your fork up-to-date

To keep your fork up-to-date, you should track the upstream (original) one using the following command:

git remote add upstream https://github.com/gnugat/redaktilo.git

Then get the upstream changes:

git checkout master
git pull --rebase origin master
git pull --rebase upstream master
git checkout <your-branch>
git rebase master

Finally, publish your changes:

git push -f origin <your-branch>

Your pull request will be automatically updated.