Danger :no_entry_sign: Formalize your Pull Request etiquette. ------- What is Danger? • Vision • Helping Out • Plugin Development ------- What is Danger? Danger runs during your CI process, and…
Danger :no_entry_sign:



Formalize your Pull Request etiquette.
-------
What is Danger? •
Vision •
Helping Out •
Plugin Development
-------
What is Danger?
Danger runs during your CI process, and gives teams the chance to automate common code review chores.
This provides another logical step in your process, through this 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.
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 specific files extra focus
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.
We keep all of the end-user documentation at https://danger.systems.
Some quick links: Guides Index, DSL Reference, Getting Started and What does Danger Do?.
I'm here to help out!
Brilliant. So, let's get you set up.
sh
git clone https://github.com/danger/danger.git
cd danger
bundle install
bundle exec rake spec
This sets everything up and runs all of the tests.
Theory
Danger has a VISION.md file, which sums up the ideas around what Danger is. It is the lower bounds of what Danger means. Orta has written on handling and creating Danger on the Artsy blog, too.
Documentation
The code you write may end up in the public part of the website — the easiest way to tell is that it is vastly overdocumented. If you are working in a space that looks over-documented, please be extra considerate to add documentation. We expect the consumers of that documentation to be non-rubyists, thus you should avoid specific jargon and try to provide duplicate overlapping examples.
Testing
So far, we've not really figured out the right way to make tests for our CLI commands. When we have done so, they've ended up being brittle. So, ideally, try to move any logic that would go into a command into separate classes, and test those. We're okay with the command not having coverage, but ideally the classes that make up what it does will.
I'd strongly recommend using bundle exec guard to run your tests as you work. Any changes you make in the lib, or specs will have corresponding tests run instantly.
Debugging
Ruby is super dynamic. One of the best ways to debug Ruby code is by using pry. We include pry for developers: when you have a problem, copy these two lines just before your problem and follow the instructions from "I Want To Be A Danger Wizard."
ruby
require 'pry'
binding.pry
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.
Members
-
danger-js ★ PINNED
⚠️ Stop saying "you forgot to …" in code review
TypeScript ★ 5.5k 9d agoExplain → -
danger ★ PINNED
🚫 Stop saying "you forgot to …" in code review (in Ruby)
Ruby ★ 5.7k 12d agoExplain → -
swift ★ PINNED
⚠️ Stop saying "you forgot to …" in code review
Swift ★ 1.1k 7mo agoExplain → -
kotlin ★ PINNED
⚠️ Stop saying "you forgot to …" in code review
Kotlin ★ 540 5mo agoExplain → -
design ★ PINNED
Design Work and Media Kit
★ 22 7y agoExplain → -
awesome-danger ★ PINNED
An awesome list of all things Danger
★ 361 6mo agoExplain → -
peril
☢️ Serious and immediate danger.
TypeScript ★ 461 4y agoExplain → -
python
⚠️ Stop saying "you forgot to …" in code review
Python ★ 114 2y agoExplain → -
rust
⚠️ Stop saying "you forgot to …" in code review
Rust ★ 46 7y agoExplain → -
dart
No description.
Dart ★ 42 2y agoExplain → -
danger-mention
Danger plugin to automatically mention potential reviewers on pull requests
Ruby ★ 30 9y agoExplain → -
danger-plugin-template
An opinionated template for creating a Danger plugin
Ruby ★ 20 3y agoExplain → -
risk
An experiment in a smaller Danger JS runtime with a more narrow scope (GitHub + GitHub, esm, TS only)
TypeScript ★ 12 4mo agoExplain → -
danger-gitlab-gem
A gem that holds the GitLab specific dependency tree
Ruby ★ 10 1y agoExplain → -
danger.systems
Old website for Danger.Systems -> New website =
HTML ★ 10 5y agoExplain → -
generator-danger-plugin
Yeoman generator to generate a Danger plugin
JavaScript ★ 9 4y agoExplain → -
peril.systems ▣
Migrated into the main peril repo
TypeScript ★ 8 7y agoExplain → -
golang
⚠️ Stop saying "you forgot to …" in code review
Go ★ 7 10d agoExplain → -
peril-settings
🔎 The danger org's instance of Peril's settings
TypeScript ★ 7 7y agoExplain → -
danger-ts
An npx-able mix of Danger and TypeScript
JavaScript ★ 6 5y agoExplain → -
danger-plugin-api
A gem for Danger plugin authors to use to use for SemVer on the API
Ruby ★ 6 10y agoExplain → -
hazmat ▣
Web infrastructure management for Peril - migrated into the peril repo
TypeScript ★ 6 8y agoExplain → -
homebrew-tap
The homebrew repo for Danger projects
Ruby ★ 5 9d agoExplain → -
danger-js-gem
A gem that exists to ensure all dependencies are set up for Danger when using a JS Dangerfile.
Ruby ★ 5 10y agoExplain → -
java
No description.
★ 5 6y agoExplain → -
peril-settings-linter
A node module for listing the settings file
TypeScript ★ 4 7y agoExplain → -
dangerfile-gem-template
A gem template for Dangerfile gems.
Ruby ★ 3 9y agoExplain → -
dashboard.peril.systems ▣
Migrated into the peril repo
TypeScript ★ 2 7y agoExplain → -
dangersaurus
The new Danger website
JavaScript ★ 1 5y agoExplain →
No repos match these filters.