Contributing to Neos is easier than ever! Thanks to the user-friendly interface of GitHub and the always active community on Slack we are happy to help you if you want to contribute some code, let it be bugfixes, features or other! Any help is appreciated!
Neos on GitHub
All packages maintained by the Neos team are bundled in the Neos organisation on GitHub. It's members have read and write access to all repositories of the organisation and can create new repositories as needed. To keep things simple, there are no further teams or distinctions when it comes to permissions. The exception to prove the rule is the "Owner" role, which not everyone has. If there is anything you need which only an owner can do, contact us via #guild-ops in Slack.
The repositories on GitHub are your average git repositories and the usual way of working with them applies. Again, of course there is an exception. Some repositories for single packages (Flow, Fluid, Neos, Fusion and others) are marked as read-only. These exist only to "feed" Packagist to enable installation of those packages via Composer. The development of those packages happens in monolithic repositories for Flow and Neos we call "development collections". Pull requests (Github login required) are created against those and whenever something is merged the read-only repositories are updated automatically.
Join a Code Sprint!
Even if you do not know any team members personally: Join a sprint! You will learn, meet us in person and hopefully have a lot of fun. Just imagine how easy problems get if there is always someone in the room to ask and discuss.
You want to known the details: scroll down to the basics section for the required tools and frameworks.
You want to get your hands dirty first: read ahead!
Setup a local Web Server
Checking out the Code Base
mkdir -p /your/local/path
git clone https://github.com/neos/neos-development-distribution.git
curl -s https://getcomposer.org/installer | php
php composer.phar install
./flow server:run & echo "Open http://localhost:8081/setup and follow the instruction on the screen"
Check out our online documentation if you want to know what the commands do.
- Create a Fork
- git remote add fork firstname.lastname@example.org:your-github-fork
git checkout -b dev-your-new-feature-or-bug-fix
- Make your changes
- git commit -m "a nice message"
git push fork
- Create a Pull Request
For further details read this thread on Discourse.