Contributing Code
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!
Getting Started Screencast
We've prepared a screencast to help you get started with contributing to Neos. It will give you an overview about the structure of the Neos repositories and the intention behind it, as well as guide you on how to create your first pull request.
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.
Quick Start
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.
Start Coding
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
- Install MySQL or PostgreSQL
- Install PHP according to our requirements
Checking out the Code Base
mkdir -p /your/local/path
cd /your/local/path
git clone https://github.com/neos/neos-development-distribution.git
cd neos-development-distribution
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.
Contribute Changes
- Create a Fork
- git remote add fork git@github.com: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.
Basics
If you want to start to program you should get roughly familiar with the used tools and programming languages. Note that PHP is used on the backend, and JavaScript for the in-place editing UI.
Programming Languages
- PHP
- JavaScript, especially ECMAScript6