We dig open source. If you want to help out, we would certainly welcome contributions large or small.
Issues can be reported on the issue tracker. When reporting, examples that allow contributors to reproduce the issue are always appreciated. Even better, include failing test.
We would love to hear ideas for making Peridot better. Feel free to create a "feature" issue on the issue tracker.
If you see an existing feature request that you like, please chime in to the conversation so other contributors can see how many people are interested in a particular feature.
We stick to PSR-2 coding standards. All of our pull requests get run through Scrutinizer, and we are interested in keeping Peridot's quality score at 10.0. We think this tool will help keep Peridot clean and lean so contributors have as an easier time moving about the codebase.
We will consider code merge worthy if it keeps the Scrutinizer score at a 10.0.
- Fork the repository on GitHub
- Add tests for your feature or bug
- Add the code for your feature or bug
- Include documentation for things being added to the public API of Peridot (in the form of doc block comments)
- Send a pull request
Peridot was built test first using itself, so please include tests as Peridot tests :)
The main Peridot site lives on GitHub.
If you have suggestions for documentation or ideas for making the site more useful, please feel free to open pull requests there.
Peridot tests can be run using Peridot. Your cloned repository should have a bin
directory containing a peridot
executable.
Before running tests, you will need to install the few dependencies Peridot has via Composer:
$ composer install
You can then run the tests like so:
$ bin/peridot specs/
You can generate a code coverage report by passing the CODE_COVERAGE
environment variable when running tests. You can generate an HTML or clover style coverage report.
To output an HTML report to tmp/report
:
$ CODE_COVERAGE=html bin/peridot specs/
or to output a clover report to build/logs/clover.xml
:
$ CODE_COVERAGE=clover bin/peridot specs/
Our coverage target is 90%+