diff --git a/Procfile b/Procfile
index 38a8d2852df7676020e5d2285bd08a858a781243..b18958b57988fd64759fcbf69096ade2baa2ba0f 100644
--- a/Procfile
+++ b/Procfile
@@ -1,2 +1,2 @@
-renovate: npm run start-raw
+renovate: yarn run start-raw
 web: node bin/heroku/web.js
diff --git a/contributing.md b/contributing.md
index bcfcd7b835a803171b20e8acd611546fc81c3154..31b8b4c9a3b9ab5a9c24387061017d301ef5251b 100644
--- a/contributing.md
+++ b/contributing.md
@@ -15,24 +15,24 @@ After you have cloned the project, first check that it's running OK locally.
 
 `renovate` supports node versions 6 and above. It is written using async/await so either needs `babel` transpilation for node 6, or a harmony flag for node 7.
 
-If running in node 6, you need to run a transpiled version of the code. You can do this without an explicit transpilation step by running `npm run start-babel`.
+If running in node 6, you need to run a transpiled version of the code. You can do this without an explicit transpilation step by running `yarn run start-babel`.
 Examples:
 
 ```sh
-$ npm run start-babel username/reponame
-$ LOG_LEVEL=verbose npm run start-babel username/reponame
-$ npm run start-babel -- --labels=foo username/reponame
+$ yarn run start-babel username/reponame
+$ LOG_LEVEL=verbose yarn run start-babel username/reponame
+$ yarn run start-babel -- --labels=foo username/reponame
 ```
 
-If running on node 7, you can run just like the above, but use the `npm run start-raw` command instead of `npm run start-babel`.
+If running on node 7, you can run just like the above, but use the `yarn run start-raw` command instead of `yarn run start-babel`.
 
 ## 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.
 Please see [Cofiguration 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 run `npm run update-docs`.
+If you wish to add one, add it to `lib/config/definitions.js` and then run `yarn run update-docs`.
 
 ## Running tests
 
-You can run `npm test` locally to test your code. We don't have 100% coverage so new tests are desirable. We also run Continuous Integration using CircleCI.
+You can run `yarn test` locally to test your code. We don't have 100% coverage so new tests are desirable. We also run Continuous Integration using CircleCI.
diff --git a/package.json b/package.json
index a9f35ec8069ad303f9a7ad04ab8091099f17c0ca..a11987c9e7b891bb525ac9f32fd4a12f2954652d 100644
--- a/package.json
+++ b/package.json
@@ -5,20 +5,20 @@
   "bin": "dist/renovate.js",
   "main": "dist/index.js",
   "scripts": {
-    "build": "npm run transpile",
+    "build": "yarn run transpile",
     "eslint": "eslint --ignore-path .gitignore .",
     "eslint-fix": "eslint --ignore-path .gitignore --fix .",
     "heroku-push": "git push heroku master",
     "heroku-scheduler": "heroku addons:open scheduler",
-    "npm-publish": "npm run update-docs && np && yarn install",
-    "prepublish": "npm run build",
+    "npm-publish": "yarn run update-docs && np && yarn install",
+    "prepublish": "yarn run build",
     "start": "node dist/renovate",
     "start-babel": "babel-node lib/renovate",
     "start-raw": "node lib/renovate",
-    "test": "npm run eslint && npm run jest",
+    "test": "yarn run eslint && yarn run jest",
     "jest": "jest",
     "transpile": "rimraf dist && mkdirp dist && babel lib --out-dir dist",
-    "update-docs": "npm run build && bash bin/update-docs.sh"
+    "update-docs": "yarn run build && bash bin/update-docs.sh"
   },
   "repository": {
     "type": "git",