Skip to content

technikhil314/auto-badger

Repository files navigation

Git Auto badger

Add badges to your project in 2 seconds

A npm cli tool that reads your packagejson/project metadata and git config and connects your readme with multiple badge providers (shields.io, badgen.net etc)

Build Status version package size license

dependancies downloads all contributors code of conduct chat with community

stargazers number of forks Follow technikhil314 on twitter

👏 & ❤️ to auto badger for making badging simple

Table of contents


Announcements

  • 06 Mar 2021
    1. Added -e/--exclude option to opt out of some badges
  • 08 Nov 2020
    1. Added -p option for passing custom path to your markdown
  • 01 Nov 2020
    1. Using meow and update notifier
    2. Removing accidentally added npm package. A total blunder :(
  • 18 Oct 2020
    1. Using find-up to search files. Now you can use this with monorepos too.

Prerequisites

Node >= 10.x.x


See the demo running here

demo


Why

  1. Copy pasting / creating badges on shields.io such a robotic job.
  2. Some of the default provided badges lacks of some of the accessibility constraint. White on green does not meet the required contrast ratio. See the badge below for example it will be difficult for low vision people to read it

Build Status


How to use

Install the cli

npm i -g git-auto-badger

or

yarn add -g git-auto-badger

Add placeholder to your markdown

Add following markdown comment where you want the badges to appear

[//]: <> (start placeholder for auto-badger)

Run the cli

then run following in your project root directory

npx auto-badger

And whoo hoo you are done. All the necessary badges are added to your markdown.


What all things are supported

This cli currently supports following providers from each category

  1. VCS
  2. CI/CD
  3. Coverage
  4. Package Managers
    • NPM [:heavy_check_mark:]
    • PyPI [Coming soon]
  5. License
    • Github License File [:heavy_check_mark:]
  6. Code of Conduct
    • Github CoC File [:heavy_check_mark:]
  7. Dependancies
  8. Package size
  9. Download Count
  10. Social
    • Github (Repo Stars, Fork) [:heavy_check_mark:]
    • twitter (Follow user/org) [:heavy_check_mark:]
  11. Chat

How it works?

  1. It looks for different file in your project root directory. To decide what tools are you using. And generates badges based on it.

    e.g. If you have .travis.yml then it assumes you are using travis for CI/CD and it creates a dynamic badge for travis latest build status

    or

    if you have appveyor.yml then it assumes you are using appveyor for CI/CD and it creates a dynamic badge for appveyor latest build status

Defaults

Badge Type Default
Size Bundle phobia (if browser only package)
Size package phobia (if node only package e.g cli)

If you liked my work, show some ❤️ ⭐ the repo.

Also you can appreciate by

Buy Me A Coffee PayPal Logo

Facing Problems

Please let me know if you are facing any issues here


Contributions

Would ❤️ to see any contributions.

How to contribute

  1. Fork this repo
  2. cd auto-badger
  3. npm link
  4. Make changes
  5. auto-badger
  6. Check and make sure all badges are generated properly