|
| 1 | +# Contributing to allow2 |
| 2 | + |
| 3 | +:+1::tada: First off, thanks for taking the time to contribute! :tada::+1: |
| 4 | + |
| 5 | +The following is a set of guidelines for contributing to Allow2 and its packages, which are hosted in the [Allow2 Organization](https://github.com/Allow2) on GitHub. |
| 6 | +These are just guidelines, not rules, use your best judgment and feel free to propose changes to this document in a pull request. |
| 7 | + |
| 8 | + |
| 9 | +## Submitting an Issue |
| 10 | + |
| 11 | +1. Provide a small self **sufficient** code example to **reproduce** the issue. |
| 12 | +2. You should **always** use fenced code blocks when submitting code examples or any other formatted output: |
| 13 | + <pre> |
| 14 | + ```js |
| 15 | + put your javascript code here |
| 16 | + ``` |
| 17 | + |
| 18 | + ``` |
| 19 | + put any other formatted output here, |
| 20 | + like for example the one returned from using request-debug |
| 21 | + ``` |
| 22 | + </pre> |
| 23 | + |
| 24 | +If the problem cannot be reliably reproduced, the issue will be marked as `Not enough info (see CONTRIBUTING.md)`. |
| 25 | + |
| 26 | +If the problem is not related to request the issue will be marked as `Help (please use Stackoverflow)`. |
| 27 | + |
| 28 | + |
| 29 | +## Submitting a Pull Request |
| 30 | + |
| 31 | +1. In almost all of the cases your PR **needs tests**. Make sure you have any. |
| 32 | +2. Run `npm test` locally. Fix any errors before pushing to GitHub. |
| 33 | +3. After submitting the PR a build will be triggered on TravisCI. Wait for it to ends and make sure all jobs are passing. |
| 34 | + |
| 35 | +NOTE: We need to implement and complete unit testing to make 2 and 3 work, |
| 36 | +feel free to implement that first! |
| 37 | + |
| 38 | +----------------------------------------- |
| 39 | + |
| 40 | + |
| 41 | +## Becoming a Contributor |
| 42 | + |
| 43 | +Individuals making significant and valuable contributions are given |
| 44 | +commit-access to the project to contribute as they see fit. This project is |
| 45 | +more like an open wiki than a standard guarded open source project. |
| 46 | + |
| 47 | + |
| 48 | +## Rules |
| 49 | + |
| 50 | +There are a few basic ground-rules for contributors: |
| 51 | + |
| 52 | +1. **No `--force` pushes** or modifying the Git history in any way. |
| 53 | +1. **Non-master branches** ought to be used for ongoing work. |
| 54 | +1. **Any** change should be added through Pull Request. |
| 55 | +1. **External API changes and significant modifications** ought to be subject |
| 56 | + to an **internal pull-request** to solicit feedback from other contributors. |
| 57 | +1. Internal pull-requests to solicit feedback are *encouraged* for any other |
| 58 | + non-trivial contribution but left to the discretion of the contributor. |
| 59 | +1. For significant changes wait a full 24 hours before merging so that active |
| 60 | + contributors who are distributed throughout the world have a chance to weigh |
| 61 | + in. |
| 62 | +1. Contributors should attempt to adhere to the prevailing code-style. |
| 63 | +1. Run `npm test` locally before submitting your PR, to catch any easy to miss |
| 64 | + style & testing issues. To diagnose test failures, there are two ways to |
| 65 | + run a single test file: |
| 66 | + - `node_modules/.bin/taper tests/test-file.js` - run using the default |
| 67 | + [`taper`](https://github.com/nylen/taper) test reporter. |
| 68 | + - `node tests/test-file.js` - view the raw |
| 69 | + [tap](https://testanything.org/) output. |
| 70 | + |
| 71 | + |
| 72 | +## Releases |
| 73 | + |
| 74 | +Declaring formal releases remains the prerogative of the project maintainer. |
| 75 | + |
| 76 | + |
| 77 | +## Changes to this arrangement |
| 78 | + |
| 79 | +This is an experiment and feedback is welcome! This document may also be |
| 80 | +subject to pull-requests or changes by contributors where you believe you have |
| 81 | +something valuable to add or change. |
0 commit comments