You want to contribute to this module? Many thanks to you! 🎉 👍
Here are some guidelines that will help us integrate your work!
You are welcome to create pull requests on any of those subjects:
- 🐛 bug fix
- 🌐 translation / i18n / l10n
If you want to implement a new feature, please create a corresponding ticket for review.
If you ever want to begin implementation, do so in a fork, and add a link to the corresponding commits in the ticket. As maintainers of the module we favor generic solutions, i.e. the ones that address most use cases instead of just a very specific need.
For all security related subjects, please see our security policy.
This iTop module is distributed under the AGPL-3.0 license (see the license.txt file), your code must comply with this license.
If you want to use another license, you may create another extension.
All developments are done on the master branch. If needed, a support/* branch might be created from a tag for compatibility reasons.
You should always base your developments on the master branch.
A dedicated page is available in the official wiki.
- Create a fork from our repository (see Working with forks - GitHub Help)
- Create a branch in this fork, based on the develop branch
- Code !
Do create a dedicated branch for each modification you want to propose : if you don't, it will be very hard for us to merge back your work !
Please follow our guidelines.
Please create tests that covers as much as possible the code you're submitting.
Our tests are located in the test/
directory, containing a PHPUnit config file : phpunit.xml
.
- Describe the functional change instead of the technical modifications
- Use the present tense ("Add feature" not "Added feature")
- Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
- Limit the first line to 72 characters or less
- Please start the commit message with an applicable emoji code (following the Gitmoji guide).
Beware to use the code (for example:bug:
) and not the character (🐛) as Unicode support in git clients is very poor for now...
Emoji examples :- 🌐
:globe_with_meridians:
for translations - 🎨
:art:
when improving the format/structure of the code - ⚡️
:zap:
when improving performance - 🐛
:bug:
when fixing a bug - 🔥
:fire:
when removing code or files - 💚
:green_heart:
when fixing the CI build - ✅
:white_check_mark:
when adding tests - 🔒
:lock:
when dealing with security - ⬆️
:arrow_up:
when upgrading dependencies - ⬇️
:arrow_down:
when downgrading dependencies - ♻️
:recycle:
code refactoring - 💄
:lipstick:
Updating the UI and style files.
- 🌐
When your code is working, please:
- stash as much as possible your commits,
- rebase your branch on our repo last commit,
- create a pull request.
Detailed procedure to work on fork and create PR is available in GitHub help pages.