Skip to content

Instantly share code, notes, and snippets.

@juristr
Last active August 29, 2015 14:27
Show Gist options
  • Save juristr/9b10ffb06488eecd8d25 to your computer and use it in GitHub Desktop.
Save juristr/9b10ffb06488eecd8d25 to your computer and use it in GitHub Desktop.
GitHub Issue Badges

Classifying good PRs/Issues

As I briefly highlighted in my blog post about how to properly create a GitHub PR, a good bug report or PR contains an automated test that reproduces the issue.

OSS tip: If you want a bug fixed faster, submit a PR with a failing test rather than an issue.

— Sindresaurus (@sindresorhus) March 21, 2015
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

Especially newcomers might not know about this. Kent C. Dodds does already invest a lot in trying to get newcomers to submit PRs.

I will only accept a PR for this one from someone who's never contributed to open source before: https://t.co/29TkMJrRE3 #angularjs

— Kent C. Dodds (@kentcdodds) July 27, 2015
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

While he does so, he tries to foster best practices when submitting PRs (automated tests and stuff...)

The Idea

My idea is to explicitly label (with GitHub labels) existing PRs or issues on GitHub repos based upon their quality with dedicated badges. The badges and their meaning should obviously be described (in the CONTRIB guidelines...or simply linked to this gist here?). Moreover, authors should prioritize the issues based on their quality...meaning that higher quality issues get solved first. That's normally the case anyway, but by explicitly labelling a submission to be good or bad, the author of the issue might have the chance to know it, and to improve it, that is...to level it up and get fixed/merged first.

Badges & Ranking System

Badges should be applied like badge-<level>. The level could be determined by

badge-diamond - A PR already including the fix, a test case that verifies it's implemented correctly, nice, clear commit messages. Well, you can simply merge it in through the GitHub automatic merge button.

badge-platin - An PR containing a failing test that reproduces a given problem. Good description of the issue

badge-gold - ...

badge-silver - ...

badge-bronze - A bug submission. Good description, but no clear indication on how to reproduce.

(I'd need some help/feedback on the ranking criteria. Any ideas?)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment