1 | # documentation is an OPEN Open Source Project
|
2 |
|
3 | -----------------------------------------
|
4 |
|
5 | ## What?
|
6 |
|
7 | 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.
|
8 |
|
9 | ## Rules
|
10 |
|
11 | There are a few basic ground-rules for contributors:
|
12 |
|
13 | 1. **No `--force` pushes** or modifying the Git history in any way.
|
14 | 1. **Non-master branches** ought to be used for ongoing work.
|
15 | 1. **External API changes and significant modifications** ought to be subject to an **internal pull-request** to solicit feedback from other contributors.
|
16 | 1. Internal pull-requests to solicit feedback are *encouraged* for any other non-trivial contribution but left to the discretion of the contributor.
|
17 | 1. Contributors should attempt to adhere to the prevailing code-style.
|
18 |
|
19 | ## Releases
|
20 |
|
21 | Declaring formal releases remains the prerogative of the project maintainer.
|
22 |
|
23 | ## Changes to this arrangement
|
24 |
|
25 | 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.
|
26 |
|
27 | [this approach is totally cribbed from the excellent LevelUP project](https://github.com/Level/community/blob/master/CONTRIBUTING.md)
|
28 |
|
29 | ----
|
30 |
|
31 | ## Releasing
|
32 |
|
33 | documentation aims to **release often**. We use [standard-changelog](https://github.com/conventional-changelog/standard-changelog)
|
34 | to generate CHANGELOG.md entries and [commitizen](https://github.com/commitizen/cz-cli) to standardize
|
35 | commit messages. Pull Request messages should be standardized to commitizen syntax (aka angular standard)
|
36 | before merge.
|
37 |
|
38 | Release process:
|
39 |
|
40 | * Confirm that `master` passes CI tests
|
41 | * Run `npm run release` or in case it's a prerelease you'd run i.e. `npm run release -- --prerelease alpha`
|
42 | * It will automatically update teh version in package.json and make a git tag.
|
43 | * Push commits
|
44 | * npm publish
|