We encourage contributions to Zotonic from the community!
Fork the zotonic repository on Github (at https://github.com/zotonic/zotonic).
Clone your fork or add the remote if you already have a clone of the repository:
git clone firstname.lastname@example.org:yourusername/zotonic.git
git remote add mine email@example.com:yourusername/zotonic.git
Create a topic branch for your change:
git checkout -b some-topic-branch
Make your change and commit. Use a clear and descriptive commit message, spanning multiple lines if detailed explanation is needed.
Push to your fork of the repository and then send a pull-request through Github:
git push mine some-topic-branch
A Zotonic committer will review your patch and merge it into the main repository or send you feedback. The pull request page on github is the main place to discuss the code and related topics.
The Zotonic commit convention are slightly based on rebar’s README.
Structure your commit message like this:
prefix: One line summary (less than 50 characters) Longer description, multiline text that is supposed to wrap at 72 characters. Fixes #403
- mod_foobar: Changes that are related to a single module should be prefixed with the module name.
- doc: For changes to the documentation, everything below doc/
- scripts: for changes to the zotonic command and its helper scripts.
- build: for the build system and related changes.
- tests: for unit tests and the testsandbox.
- skel: for the skeleton sites.
- zotonic_status: for the default site.
- translation: for new/updated translations.
- core: For changes in the src, include or deps folder; e.g. anything not covered by another tag.
Notice the empty line preceding the longer description and the “Fixes” tag.
When this is your first contribution to Zotonic, you are welcome to add your name and e-mail address to the CONTRIBUTORS file in the root of the project. Please keep the file alphabetically ordered.