⚠️ Stop saying "you forgot to …" in code review
Switch branches/tags
Clone or download
Latest commit 20cd2f0 Sep 22, 2018
Failed to load latest commit information.
.circleci More verbose circle CI Jan 1, 2018
.vscode Better Peril debugging May 19, 2018
docs Improve the docs, and add something about danger local Aug 6, 2018
env Improves logging Dec 30, 2016
scripts refactors remaining old imports Sep 20, 2018
source Fix missing PR status update bug Sep 22, 2018
types Adds test which validate the fixtures run correctly Oct 21, 2017
.babelrc Update to babel 7 stable Sep 13, 2018
.editorconfig Add .editorconfig Dec 27, 2016
.flowconfig [Dev] Updates the flow definition, and adds it to CI Feb 19, 2018
.gitignore [Dev] Updates the flow definition, and adds it to CI Feb 19, 2018
.npmignore Improves the npm Jul 28, 2018
.travis-just-danger.yml Updates danger-plugin-yarn Jun 12, 2017
.travis.yml Merge branch 'master' of https://github.com/danger/danger-js into lodash Jul 21, 2018
CHANGELOG.md Update changelog Sep 22, 2018
CONTRIBUTING.md More docs Feb 17, 2018
README.md Update version, readme and changelog Sep 4, 2018
VISION.md Improve the docs, and add something about danger local Aug 6, 2018
appveyor.yml Use my TS Jest fork Aug 6, 2017
dangerfile.circle.js Convert our Dangerfile to be a TypeScript file Mar 19, 2017
dangerfile.flow.js [Dev] Updates the flow definition, and adds it to CI Feb 19, 2018
dangerfile.lite.ts Spacing Apr 24, 2018
dangerfile.ts Merge May 21, 2018
package.json Release 4.0.2 Sep 22, 2018
tests.json Merge Oct 15, 2017
tsconfig.json upgrades deps and config Sep 20, 2018
tsconfig.production.json Adds support to the runner to handle a github-less platform Jan 21, 2018
tslint.json Remove all tslint rules which conflict with prettier Oct 23, 2017
wallaby.js Fix declarations Oct 22, 2017
yarn.lock upgrades deps and config Sep 20, 2018


Formalize your Pull Request etiquette.

What is Danger JS?VisionHelping OutPlugin Development

What is Danger JS?

Danger runs after your CI, automating your team's conventions surrounding code review.

This provides another logical step in your process, through which Danger can help lint your rote tasks in daily code review.

You can use Danger to codify your teams norms, leaving humans to think about harder problems.

Danger JS currently works with GitHub or BitBucket Server and Travis CI, Circle CI, Semaphore, Jenkins, Docker Cloud, Bitrise, surf-build, Codeship, Drone, Buildkite, Nevercode, buddybuild, Visual Studio Team Services, TeamCity, Screwdriver or Concourse.

npm Build Status Build Status Join the community on Spectrum

For example?

You can:

  • Enforce CHANGELOGs
  • Enforce links to Trello/JIRA in PR/MR bodies
  • Enforce using descriptive labels
  • Look out for common anti-patterns
  • Highlight interesting build artifacts
  • Give warnings when specific files change

Danger provides the glue to let you build out the rules specific to your team's culture, offering useful metadata and a comprehensive plugin system to share common issues.

Getting Started

Alright. So, actually, you may be in the wrong place. From here on in, this README is going to be for people who are interested in working on and improving on Danger JS.

We keep all of the end-user documentation at http://danger.systems/js.

Some quick links to get you started:

This thing is broken, I should help improve it!

Awesommmmee. Everything you need is down below. You can also refer to CONTRIBUTING file where you'll find the same information listed below.

git clone https://github.com/danger/danger-js.git
cd danger-js

# if you don't have yarn installed
npm install -g yarn

yarn install

You can then verify your install by running the tests, and the linters:

yarn test
yarn lint

The fixers for both tslint and prettier will be applied when you commit, and on a push your code will be verified that it compiles.

How does Danger JS work?

Check the architecture doc.

What is the TODO?

Check the issues, I try and keep my short term perspective there. Long term is in the VISION.md.

Releasing a new version of Danger

Following this commit as a model:

  • Checkout the master branch. Ensure your working tree is clean, and make sure you have the latest changes by running git pull.
  • Update package.json with the new version - for the sake of this example, the new version is 0.21.0.
  • Modify changelog.md, adding a new ### 0.21.0 heading under the ### Master heading at the top of the file.
  • Commit both changes with the commit message Version bump.
  • Publish - npm publish.


License, Contributor's Guidelines and Code of Conduct

We try to keep as much discussion as possible in GitHub issues, but also have a pretty inactive Slack --- if you'd like an invite, ping @Orta a DM on Twitter with your email. It's mostly interesting if you want to stay on top of Danger without all the emails from GitHub.

This project is open source under the MIT license, which means you have full access to the source code and can modify it to fit your own needs.

This project subscribes to the Moya Contributors Guidelines which TLDR: means we give out push access easily and often.

Contributors subscribe to the Contributor Code of Conduct based on the Contributor Covenant version 1.3.0.