From a78c346acab99e1b008e02a1834a0e6639d0633d Mon Sep 17 00:00:00 2001
From: Rhys Arkins <rhys@arkins.net>
Date: Mon, 5 Mar 2018 09:06:40 +0100
Subject: [PATCH] docs: improve contributing guide and add a link from
 docs/readme.md

---
 contributing.md | 45 ++++++++++++++++++++++++---------------------
 docs/readme.md  |  2 ++
 2 files changed, 26 insertions(+), 21 deletions(-)

diff --git a/contributing.md b/contributing.md
index 108c52db27..a4add509a4 100644
--- a/contributing.md
+++ b/contributing.md
@@ -2,47 +2,50 @@
 
 Contributions are welcome and desirable, in the form of:
 
-* Bug reports (raise an issue)
-* Feature requests (raise an issue)
-* Code (submit a Pull Request)
+* Bug reports (create an issue)
+* Feature requests (create an issue)
+* Code (create a Pull Request)
 * Comments (comment on any of the above)
 
-Before you start any Pull Request, it's recommended that you raise an issue
-first if you have any doubts. That way you can be sure that the maintainer(s)
+Before you start any Pull Request, it's recommended that you create an issue to dsicuss
+first if you have any doubts about requirement or implementation. That way you can be sure that the maintainer(s)
 agree on what to change and how, and you can hopefully get a quick merge
 afterwards.
 
 ## Running the source code locally
 
-After you have cloned the project, first check that it's running OK locally.
+After you have forked and cloned the project, check that it's running OK locally.
 
 First you will need to install dependencies. We use
-[yarn](https://github.com/yarnpkg/yarn) so run `yarn` instead of `npm install`.
+[yarn](https://github.com/yarnpkg/yarn) so run `yarn install` instead of `npm install`.
 
-`renovate` supports nodejs versions 8 and above.
+Also, `renovate` supports only node.js versions 8 and above. Use a version manager like `nvm` or `n` if you'll need to switch between versions easily.
 
-Examples:
+Examples of running Renovate:
 
 ```sh
 $ yarn start username/reponame
 $ LOG_LEVEL=trace yarn start username/reponame
-$ yarn start -- --labels=foo username/reponame
+$ yarn start username/reponame --renovate-fork=true
 ```
 
-## Adding configuration options
+## Running tests
 
-We wish to keep backwards-compatibility as often as possible, as well as make
-the code configurable, so most new functionality should be controllable via
-configuration options. Please see [Configuration docs](docs/configuration.md)
-for a list of current options.
+You can run `yarn test` locally to test your code. We test all PRs using the same tests, run on TravisCI.
 
-If you wish to add one, add it to `lib/config/definitions.js` and then add documentation to `website/docs/_posts/2017-10-05-configuration-options.md`.
+The Renovate project maintains 100% test coverage, so any Pull Request will fail if it does not contain full coverage for code. Using `// instanbul-ignore` is not ideal but sometimes is a pragmatic solution if an additional test wouldn't really prove anything.
 
-## Running tests
+Also, do not let coverage put you off submitting a PR! Maybe we can help, or at least guide. Also, it can be good to submit your PR as a work in progress (WIP) without tests first so that you can get a thumbs up from others about the changes, and write tests after.
 
-You can run `yarn test` locally to test your code. We also run Continuous
-Integration using CircleCI.
+## Linting and formatting
 
 We use [Prettier](https://github.com/prettier/prettier) for code formatting. If
-your code fails `yarn test` due to a `prettier` rule in `eslint` then it can be
-fixed by running `yarn run lint-fix`;
+your code fails `yarn test` due to a `prettier` rule then you should find that the offending file will be updated automatically and pass the second time you run `yarn test` because each time you run it, it includes the `--fix` command automatically.
+
+## Adding configuration options
+
+We wish to keep backwards-compatibility as often as possible, as well as make
+the code configurable, so most new functionality should be controllable via
+configuration options.
+
+If you wish to add one, add it to `lib/config/definitions.js` and then add documentation to `website/docs/_posts/2017-10-05-configuration-options.md`.
diff --git a/docs/readme.md b/docs/readme.md
index b237cf5b1b..e5d2b2e81b 100644
--- a/docs/readme.md
+++ b/docs/readme.md
@@ -1,3 +1,5 @@
 # Renovate Developer Docs
 
 This directory is intended to provide documentation for developers/contributors on the Renovate project. For user-facing documentation - e.g. for how to confiure Renovate as a user - please see https://renovateapp.com/docs
+
+If you would like to contribute to Renovate or get it running locally for some others reason, please check out `../contributing.md` for steps on how to set up the project locally.
-- 
GitLab