Use Case

As a repository owner I would like this utility to run every time a new Pull Request (PR) is submitted that awards merit badges to the submitting user for certain events. An example of this would be awarding the Node.js Badge when they submit their first PR using Node.js

As a repository owner I would like this utility to assign demerit badges to a user that submits a PR that violates a best practice. An example of this would be a PR that breaks the automated build or reduces code coverage.

MVP Requirements

The utility is trigger when a PR is submitted.

User’s badges and demerit badges can be seen by any GitHub user.

The Merit\Demerit badges and their criteria are available for users to review.

Suggested Merit Badges

Language Badges – A badge for each language.

First Hit – When your First PR has been submitted.

Got Your Six – Increased code coverage on code not added by your PR

First Blood – First to comment on a PR

Problem Solver – A PR is merged that resolves a GitHub Issue. (Awarded to the user submitting the PR)

The Scribe – Wrote a 100+ line comment.

Suggested Demerit Badges

Matryoshka – If the PR contains code that has more than 3 levels of nesting

Pyramids of Giza – If the PR has 3 areas or more of code that would award the Matroyshka badge

Drummond – When the PR is approved and merged within 10 minutes of being submitted (This would be assigned to the user merging the PR)

Poet – Written a source file with more than 10,000 lines