- Reporting bugs
- Git Workflow
- Pull Request General Guidelines
- How To Create a Pull Request
- Advanced Git tools
- Version Numbers
Before submitting your issue please check that you've completed the following steps:
- Made sure you're on the latest version
- Used the search feature to ensure that the bug hasn't been reported before
Bug reports should contain the following information:
- Summary: A brief description.
- Steps to reproduce: How did you encounter the bug? Instructions to reproduce it.
- Expected behavior: How did you expect it to behave?
- Actual behavior: How did it actually behave?
- References: Links to any related tickets or information sources.
- If possible, attach visual documentation of the bug. Screenshot or animated gif
Introduction to Github Flow https://guides.github.com/introduction/flow/
- Please check to make sure that there aren't existing pull requests attempting to address the issue mentioned.
- Check for related issues on the issue tracker.
- Non-trivial changes should be discussed on an issue first.
- Let us know you're working on the issue.
- Develop in a topic branch, not master.
- Provide useful Squash your commits.
- Write a good description of your PR.
- Commit each fix as a separate change
- Provide useful commit messages
- Use the imperative mood in the subject line. Eg.
fix login error
,add config file
,remove unused code
- Reference the git issue on the body of your commit message, never on the first line. Eg:
git commit -m 'add login feature
connects to #3'
- Don't pollute the log! http://bit.ly/1MDciJG
- Don't push to master any 'merge messages'
- Update your local development branch with
git pull --rebase origin master
- Always Rebase over merge.
Clone the repo
- Click the GitHub fork button to create your own fork.
- Clone your fork of the repo to your dev system.
git clone [email protected]:gaboesquivel/standard-module-boilerplate.git
Create a feature branch
git checkout -b <your-branch-name>
Make your changes and commit
- Make sure you comply with the .editorconfig
- Provide a useful short description.
- Reference the git issue on the body of your commit message, never on the first line.
git commit -m '<short description of change>
connects to #<your-issue-number>'
Create a Pull Request
Create a pull request so others can review the changes.
git push <your-git-account> <your-feature-branch>
- Open your repository fork on GitHub
- You should see a button to create a pull request - Press it
- Reference the issue number in your pull request message.
- Consider mentioning a contributor in your pull request comments to alert them that it's available for review
- Wait for the reviewer to approve and merge the request
- Minor documentation grammar/spelling fixes (code example changes should be reviewed)
For large changes spanning many commits
- Create a meta-issue with a bullet list using the
* [ ] item
markdown syntax. - Create issues for each bullet point
- Link to the meta-issue from each bullet point issue
- Check off the bullet list as items get completed
Linking from the bullet point issues to the meta issue will create a list of issues with status indicators in the issue comments stream, which will give us a quick visual reference to see what's done and what still needs doing.
There are also tools like Hub and git-extras that facilitate interacting with Github. You leverage these tools to contribute to this repository.
Semver, except the version roles have the semantic names, "Breaking.Feature.Fix" instead of "Major.Minor.Patch".
We don't decide what the version will be. The API changes decide. Version numbers are for computers, not people. Release names are for people.
Any breaking change, no matter how small increments the Breaking version number. Incrementing the Breaking version number has absolutely no relationship with issuing a release.
When any new feature is added. This could be as small as a new public property, or as large as a new module contract being exposed.
When a documented feature does not behave as documented, or when a security issue is discovered and fixed without altering documented behavior.