Individuals making significant and valuable contributions are given commit-access to the project to contribute as they see fit. This project is more like an open wiki than a standard guarded open source project.
There are a few basic ground-rules for contributors:
- No
--force
pushes or modifying the Git history in any way. - Non-master branches ought to be used for ongoing work.
- External API changes and significant modifications ought to be subject to an internal pull-request to solicit feedback from other contributors.
- Internal pull-requests to solicit feedback are encouraged for any other non-trivial contribution but left to the discretion of the contributor.
- Contributors should attempt to adhere to the prevailing code-style.
Declaring formal releases remains the prerogative of the project maintainer.
This is an experiment and feedback is welcome! This document may also be subject to pull-requests or changes by contributors where you believe you have something valuable to add or change.
this approach is totally cribbed from the excellent documentation project
js-gpiozero uses semantic-release to deploy code as often as possible. We use standard-changelog to generate CHANGELOG.md entries and commitizen to standardize commit messages. Pull Request messages should be standardized to commitizen syntax (aka angular standard) before merge.
Release process (completed by semantic-release):
- Confirm that
master
passes CI tests - Bump version in
package.json
- Add Version Tag to Git
- Run
npm run changelog
- Add updated CHANGELOG.md to master
- Push commits and new tag
- npm publish