Contributions are welcome and will be fully credited.
We accept contributions via Pull Requests on Github.
Being an ongoing contributor to an open source project requires just a bit of planning to get your representation of the project setup properly and to understand the workflow necessary to keep things in order.
- Fork the primary repository to your account via the Fork button here
- Clone your instance of the repository down to your local environment
- Within your local, add an upstream remote to reference the primary repository:
git remote add upstream [email protected]:onlinemeded/domain-driven-laravel.git
- Make sure you don't commit to
master
within your local. That should remain kept up-to-date viagit pull upstream master
.
- Run
git pull upstream master
to ensure your localmaster
is current - Run
git checkout -b feature/my-super-cool-new-feature
- Create your awesomeness making sure to
git commit
your work along the way - When you're all set, you can
git push
from your local to create a remote branch within your account - Head to your account and create a PR to the primary repository
- We have StyleCI, TravisCI, and CodeClimate setup just to make sure this project stays beautiful, watch for any flags that these guys throw. You just might have a touch more work to do :)
- Once the above give the all clear, we may discuss your work with you but you will likely be sitting pretty at this point
-
PSR-2 Coding Standard - The easiest way to apply the conventions is to install PHP Code Sniffer. With that installed (and executables
phpcs
andphpcbf
in yourPATH
) we have some convenience commands for you to run:composer check-style
andcomposer fix-style
. -
Add tests! - Your patch won't be accepted if it doesn't have tests. You can run
composer test
to ensure your new stuff doesn't break old stuff. You can also runcomposer test-coverage
to generate an HTML representation of the code coverage in the project. That'll drop an entry point here./coverage/index.html
for your convenience. -
Document any change in behaviour - Make sure the
README.md
and any other relevant documentation are kept up-to-date. -
Consider our release cycle - We try to follow SemVer v2.0.0. Randomly breaking public APIs is not an option.
-
One pull request per feature - If you want to do more than one thing, send multiple pull requests.
-
Send coherent history - Make sure each individual commit in your pull request is meaningful. If you had to make multiple intermediate commits while developing, please squash them before submitting.
Happy coding!