Skip to content
Snippets Groups Projects
Commit a78c346a authored by Rhys Arkins's avatar Rhys Arkins
Browse files

docs: improve contributing guide and add a link from docs/readme.md

parent 170ef0f2
No related branches found
No related tags found
No related merge requests found
...@@ -2,47 +2,50 @@ ...@@ -2,47 +2,50 @@
Contributions are welcome and desirable, in the form of: Contributions are welcome and desirable, in the form of:
* Bug reports (raise an issue) * Bug reports (create an issue)
* Feature requests (raise an issue) * Feature requests (create an issue)
* Code (submit a Pull Request) * Code (create a Pull Request)
* Comments (comment on any of the above) * Comments (comment on any of the above)
Before you start any Pull Request, it's recommended that you raise an issue Before you start any Pull Request, it's recommended that you create an issue to dsicuss
first if you have any doubts. That way you can be sure that the maintainer(s) 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 agree on what to change and how, and you can hopefully get a quick merge
afterwards. afterwards.
## Running the source code locally ## 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 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 ```sh
$ yarn start username/reponame $ yarn start username/reponame
$ LOG_LEVEL=trace 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 You can run `yarn test` locally to test your code. We test all PRs using the same tests, run on TravisCI.
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.
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 ## Linting and formatting
Integration using CircleCI.
We use [Prettier](https://github.com/prettier/prettier) for code formatting. If 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 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.
fixed by running `yarn run lint-fix`;
## 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`.
# Renovate Developer Docs # 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 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.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment