|
| 1 | +# Contributing to DSC |
| 2 | + |
| 3 | +We welcome and appreciate contributions from the community. |
| 4 | +There are many ways to become involved with DSC: |
| 5 | +including filing issues, |
| 6 | +joining in design conversations, |
| 7 | +and writing and improving documentation. |
| 8 | +Please read the rest of this document to ensure a smooth contribution process. |
| 9 | + |
| 10 | +## Intro to Git and GitHub |
| 11 | + |
| 12 | +* Make sure you have a [GitHub account](https://github.com/signup/free). |
| 13 | +* Learning GitHub: |
| 14 | + * GitHub Help: [Good Resources for Learning Git and GitHub][https://help.github.com/articles/good-resources-for-learning-git-and-github/] |
| 15 | +* [GitHub Flow Guide](https://guides.github.com/introduction/flow/): |
| 16 | + step-by-step instructions of GitHub Flow |
| 17 | + |
| 18 | +## Contributing to Issues |
| 19 | + |
| 20 | +* Check if the issue you are going to file already exists in our [GitHub issues](https://github.com/powershell/DSC/). |
| 21 | +* If you can't find your issue already, |
| 22 | + [open a new issue](https://github.com/PowerShell/DSC/issues/new/choose), |
| 23 | + making sure to follow the directions as best you can. |
| 24 | + |
| 25 | +## Contributing to Documentation |
| 26 | + |
| 27 | +### Contributing to documentation related to DSC |
| 28 | + |
| 29 | +Please see the [PowerShell-Docs-DSC](https://github.com/MicrosoftDocs/PowerShell-Docs-DSC/) repository for details. |
| 30 | + |
| 31 | +### Contributing to documentation related to maintaining or contributing to the DSC project |
| 32 | + |
| 33 | +* When writing Markdown documentation, use [semantic linefeeds](https://rhodesmill.org/brandon/2012/one-sentence-per-line/). |
| 34 | + In most cases, it means "one clause/idea per line". |
| 35 | +* Otherwise, these issues should be treated like any other issue in this repository. |
| 36 | + |
| 37 | +#### Spellchecking documentation |
| 38 | + |
| 39 | +Documentation is spellchecked. We use the |
| 40 | +[textlint](https://github.com/textlint/textlint/wiki/Collection-of-textlint-rule) command-line tool, |
| 41 | +which can be run in interactive mode to correct typos. |
| 42 | + |
| 43 | +To run the spellchecker, follow these steps: |
| 44 | + |
| 45 | +* install [Node.js](https://nodejs.org/en/) (v10 or up) |
| 46 | +* install [textlint](https://github.com/textlint/textlint/wiki/Collection-of-textlint-rule) by |
| 47 | + `npm install -g textlint textlint-rule-terminology` |
| 48 | +* run `textlint --rule terminology <changedFileName>`, |
| 49 | + adding `--fix` will accept all the recommendations. |
| 50 | + |
| 51 | +If you need to add a term or disable checking part of a file see the [configuration sections of the rule](https://github.com/sapegin/textlint-rule-terminology). |
| 52 | + |
| 53 | +#### Checking links in documentation |
| 54 | + |
| 55 | +Documentation is link-checked. We make use of the |
| 56 | +`markdown-link-check` command-line tool, |
| 57 | +which can be run to see if any links are dead. |
| 58 | + |
| 59 | +To run the link-checker, follow these steps: |
| 60 | + |
| 61 | +* install [Node.js](https://nodejs.org/en/) (v10 or up) |
| 62 | +* install `markdown-link-check` by |
| 63 | + `npm install -g [email protected]` |
| 64 | +* run `find . \*.md -exec markdown-link-check {} \;` |
| 65 | + |
| 66 | +## Code of Conduct Enforcement |
| 67 | + |
| 68 | +Reports of abuse will be reviewed by the PS-Committee and if it has been determined that violations of the |
| 69 | +Code of Conduct has occurred, then a temporary ban may be imposed. |
| 70 | +The duration of the temporary ban will depend on the impact and/or severity of the infraction. |
| 71 | +This can vary from 1 day, a few days, a week, and up to 30 days. |
| 72 | +Repeat offenses may result in a permanent ban from the PowerShell org. |
0 commit comments