-
Notifications
You must be signed in to change notification settings - Fork 5
Contributing
Contributions to SeedStack are always welcome. You can help make it better by following these guidelines.
If you have any question or problem please use StackOverflow and make sure to tag your question with seedstack
.
You can also use the Google Group or directly the mailing list via [email protected].
We are available on the Freenode IRC community, at #seedstack.
If you find a bug in the source code or a mistake in the documentation, please submit an issue to the corresponding GitHub repository.
If you need a feature, please consider the following options:
- If the feature is concerning only one existing repository, please submit an issue on the corresponding GitHub repository. If the feature is small, you can submit it directly as a Pull Request.
- If the feature is concerning multiple repositories or implies the creation of at least one new repository, please ask first on the Google Group or the IRC channel.
If you want to improve the documentation:
- If the scope of the modification is limited to one page, please use the "Contribute to this page" button in the menu. This will allow you to edit the file directly from a fork of the repository.
- If the modification is larger, please check if it hasn't already been identified in the issues. If not, please submit one on the website repository describing the modification.
This section describes the requirements for contributing code to SeedStack. If you are unfamiliar with how to contribute to projects on GitHub, please read this documentation.
To contribute code to SeedStack, please make sure that:
- You have identified the modification with an issue on the corresponding repository,
- You have notified with a comment in the issue that you are working on it.
Then fork the repository in your personal account. Clone it and create a branch with the following name conventions:
- For bug fixes:
fix-?-very-short-description
- For features:
feat-?-very-short-description
Where ? is the number of the corresponding issue. Examples:
fix-3-jms-connection
feat-9-jpa-enhancements
Add the upstream
remote denoting the official repository:
git remote add upstream ...
After finishing your work you can submit it as a Pull Request only if the following conditions are met:
- Your code is well-tested (it should at least have unit tests for the complex parts and have a more general integration test),
- The build is OK in your environment,
- Your branch has been rebased on the latest commit of the upstream branch,
- You have squashed all your commits into one with a self-describing message. You can add a
Closes #?
or aFixes #?
sentence at the end of the commit message to relate the commit to the corresponding issue.
You can then proceed to submit a Pull Request on the official repository, where the code will be reviewed and discussed. The Travis CI build must be OK for the Pull Request to be accepted.
You may have to modify you code after the Pull Request creation. In that case, don't forget to resquash all your commits into one. The Pull Request will be automatically updated.
Please note that when you rebase your branch or squash commits after having already pushed a version on GitHub, you will need to push-force (git push --force ...
) it.