dwyl / repo-badges

:star: Use repo badges (build passing, coverage, etc) in your readme/markdown file to signal code quality in a project.
2.89k stars 1.23k forks source link
# Code Repository Badges ![build passing](https://raw.githubusercontent.com/dwyl/repo-badges/master/highresPNGs/build-passing.png)

Why? start with why

As people who are passionate about writing great code we display "badges" in our code repositories to signal to fellow developers that we set ourselves high standards1 for the code we write, think of them as the software-equivalent of the brand on your jeans or other reliable product.

What?

We use the following badges (listed in order of importance):

How?

Build Passing Build Status

GitHub Actions/Workflows

If you are using GitHub Actions/Workflows https://github.com/features/actions to run your Continuous Integration (CI), then you can include a badge in your project's README.md: https://docs.github.com/en/actions/monitoring-and-troubleshooting-workflows/adding-a-workflow-status-badge

Regular badge template:

![example workflow](https://github.com/<OWNER>/<REPOSITORY>/actions/workflows/<WORKFLOW_FILE>/badge.svg)

e.g:

![GitHub CI](https://github.com/dwyl/auth_plug/actions/workflows/ci.yml/badge.svg)

GitHub CI

Custom badge via Shields.io: https://shields.io/category/build image

Example:

![GitHub Workflow Status](https://img.shields.io/github/workflow/status/dwyl/auth_plug/Elixir%20CI?label=build&style=flat-square)

GitHub Workflow Status


Travis-CI

You'll need to setup your project on Travis-CI and write unit tests (preferably TDD!) for this to work ... if you're stuck ask us how!

[![Build Status](https://travis-ci.org/{ORG-or-USERNAME}/{REPO-NAME}.png?branch=master)](https://travis-ci.org/{ORG-or-USERNAME}/{REPO-NAME})

CodeClimate

Setup your repository by adding it on code climate then copy the badge markdown from them!

For more detailed instructions see: https://github.com/dwyl/learn-codeclimate

Coverage

The new kid on the block for Test Coverage is "CodeCov": https://codecov.io/#features
We love their features especially the fact that they check coverage for pull requests! see: https://github.com/dwyl/learn-istanbul#tracking-coverage-as-a-service

To setup codecov simply add the following lines to your .travis.yml file:

before_install:
  - pip install --user codecov
after_success:
  - codecov --file coverage/lcov.info --disable search

And remember to output a coverage report in your tests using istanbul, by adding it to your test script in your package.json so that travis can send the coverage report to codecov e.g:

"scripts": {
  "test": "./node_modules/.bin/istanbul cover ./node_modules/tape/bin/tape ./test/*.js"
}

If you are new to test coverage using istanbul check out: learn-istanbul

Working example: hits/.travis.yml

Note: you can still use CodeClimate for Coverage if you prefer,
we're excited that there is more choice in the JS testing space!

goodparts JavaScript Code Style JavaScript Style Guide: Good Parts

Once you have installed goodparts and used it to lint your code, see: https://github.com/dwyl/goodparts#how you can include a badge in your repo to inform others of your choice of code style.

[![JavaScript Style Guide: Good Parts](https://img.shields.io/badge/code%20style-goodparts-brightgreen.svg?style=flat)](https://github.com/dwyl/goodparts "JavaScript The Good Parts")

See: https://github.com/dwyl/goodparts

Why? start with why

## Why? [![start with why](https://img.shields.io/badge/start%20with-why%3F-brightgreen.svg?style=flat)](https://www.ted.com/talks/simon_sinek_how_great_leaders_inspire_action)

Node.js Version your Project/Module Supports: NPM version

[![Node version](https://img.shields.io/node/v/[NPM-MODULE-NAME].svg?style=flat)](https://nodejs.org/download/)

NPM Download Statistics

To show download stats for your NPM package, use https://nodei.co/ e.g:

NPM Download Stats

If you want the image to be clickable use the following Markdown:

[![https://nodei.co/npm/YOUR-MODULE-NAME.png?downloads=true&downloadRank=true&stars=true](https://nodei.co/npm/YOUR-MODULE-NAME.png?downloads=true&downloadRank=true&stars=true)](https://www.npmjs.com/package/YOUR-MODULE-NAME)

Contributing contributions welcome

If you want to encourage people to contribute to your project, by reminding them that you welcome their input use this badge!

## Contributing [![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://github.com/dwyl/esta/issues)

Gitter (Chat for Developers!)

Join the chat at https://gitter.im/dwyl/chat

[![Join the chat at https://gitter.im/{ORG-or-USERNAME}/{REPO-NAME}](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/dwyl/?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

dwyl chat button:

If you are working on a project in the dwyl organisation and want to include the button to let people join our public chat channel, copy paste this markdown snippet into the README.md of the project you are working on:

[![Join the chat at https://gitter.im/dwyl/chat](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/dwyl/chat?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

(GitHub Repo) Hit Counter HitCount

Ever wanted to know how many people have viewed your GitHub Repo?
We did ... So we wrote a tiny script that counts views! :open_mouth:

Visit: https://hits.dwyl.com to get your "Hit Count" badge.

Template:

[![HitCount](https://hits.dwyl.com/{username}/{project-name}.svg)](https://hits.dwyl.com/{username}/{project-name})

Example:

[![HitCount](https://hits.dwyl.com/dwyl/start-here.svg)](https://hits.dwyl.com/dwyl/start-here)

Yes, we know that for some people, "hits" = "How Idiots Track Success" ... but, in the absence of better analytics, page views are a good metric to be aware of! :chart_with_upwards_trend:

Snyk Proactive Security Vulnerability Detection

See: snyk-security-scanning.md

Thank You!

Help spread the Code Quality Love! :heart:
Please :star: this repo and share it with others by re-tweeting:

repo-bages-please-retweet


Others

If you need to adapt any of the images or create your own: https://shields.io

Extra High-resolution

We needed High-resolution versions of the coding badges for a presentation about testing so we made PNGs from the SVGs ...

These are in the folders in this repo in case they are useful to someone else.

1Other repositories that do not have these badges are not necessarily "worse" or have "low standards", they simply are not making them explicit .