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 LevelUP project
documentation aims to release often. 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:
- Confirm that
master
passes CI tests - Run
npm run release
or in case it's a prerelease you'd run i.e.npm run release -- --prerelease alpha
- It will automatically update the version in package.json and make a git tag.
- Push commits
- npm publish