all-shields-cli
Tags: javascript, webdev, node, opensource
Published: 2020-05-16 12:03:35

---
title: all-shields-cli
published: true
description: Tool to help automate your badges of shields.io from .all-shieldsrc 
tags: javascript, webdev, nodejs, opensource
cover_image: https://raw.githubusercontent.com/ptkdev/all-shields-cli/nightly/.github/assets/screenshot/ptkdev-all-shields-cli-screen1.png
---

[![Badge generator of shields.io from .all-shieldsrc dotfile: Tool to help automate your badges of shields.io from a dotfile for your markdown files. Inspired by all-contributors-cli](https://raw.githubusercontent.com/ptkdev/all-shields-cli/nightly/.github/assets/ptkdev-all-shields-cli-logo.png)](https://www.npmjs.com/package/@ptkdev/all-shields-cli)

# 🦌 Badges generator from dotfiles for any markdown

Tool to help automate your badges of shields.io, badgen.net, fury.io and snyk.io from `.all-shieldsrc` dotfile for your markdown files. You can use Liquid variables like `{{name}}` or `{{version}}` which refer to your `package.json`. 

Inspired by [all-contributors-cli](https://www.npmjs.com/package/all-contributors-cli) 

Resources: [[NPM](https://www.npmjs.com/package/@ptkdev/all-shields-cli)] [[GITHUB](https://github.com/ptkdev/all-shields-cli)]

## 💡 Features
* [✔️] Easy to use
* [✔️] MIT License
* [✔️] Support: shields.io
* [✔️] Support: fury.io
* [✔️] Support: snyk.io
* [✔️] Support: badgen.net
* [✔️] Full customizations!
* [✔️] Liquid Variables
* [✔️] Tool to help automate your badges on markdown.
* [✔️] Badges generator from dotfiles for any markdown

## 👔 Screenshot
[![Badges generator from dotfiles for any markdown](https://raw.githubusercontent.com/ptkdev/all-shields-cli/nightly/.github/assets/screenshot/ptkdev-all-shields-cli-screen1.png)](https://raw.githubusercontent.com/ptkdev/all-shields-cli/nightly/.github/assets/screenshot/ptkdev-all-shields-cli-screen1.png)

## 🚀 Installation
1. In your node project run: `npm install @ptkdev/all-shields-cli --save-dev`
2. In your `package.json` add script:
```javascript
	...
	"scripts": {
		"all-shields-cli": "all-shields-generate"
	}
	...
```
3. Create `.all-shieldsrc` and paste sample:
```javascript
{
	"files": [
		"README.md"
	],
	"shields": [
		{
			"id": "my-badges",
			"badges": [
				{
					"url": "https://www.npmjs.com/package/@ptkdev/all-shields-cli",
					"color": "lightgray",
					"label": "package name",
					"title": "package name",
					"message": "all-shields-cli",
					"style": "flat",
					"logo": "",
					"platform": "shields"
				}
			]
		}
	]
}
```
4. Add in your `README.md` the html comment (`my-badges` is `id` from the previous step):
```html
<!-- all-shields/my-badges:START -->
<!-- all-shields/my-badges:END -->
```

5. Run `npm run all-shields-cli`

See folder `examples`, run with `node example.js`. Below is available a description of `options` values.


## 🔑 Liquid variables
In your `.all-shieldsrc` dotfile you can use liquid variables like `{{name}}` or `{{version}}` which refer to your `package.json`. Key of `package.json` is name of liquid variable `{{key_from_package.json}}`

## 🐶 Work with Husky
1. In your node project run: `npm install husky --save-dev` ([docs](https://www.npmjs.com/package/husky))
2. You can use pre-commit hooks with husky:
```javascript
	...
	"husky": {
		"hooks": {
			"pre-commit": "npm run all-shields-cli"
		}
	}
	...
```

## 🧰 Options: Badges Array

| Parameter | Description | Values | Default value | Available on platforms | Available since |
| --- | --- | --- | --- | --- | --- |
| platform | Define platform | `discord` / `shields` / `fury` / `snyk` / `badgen` | `shields` | | **v1.0.0** |
| custom | Set custom string of image url (appended after domain url of badge service) | `string` | empty | `discord`, `shields`, `fury`, `snyk`, `badgen` | **v1.1.0** |
| url | If you click on badge open this url | `URI` | empty | `discord`, `shields`, `fury`, `snyk`, `badgen` | **v1.0.0** |
| color | Badge hexcode color (right side). NOTE: Overwrited if `custom` is set. | `string` / `hexcode` | `lightgray` | `shields`, `badgen` | **v1.0.0** |
| label | Badge text (left side). NOTE: Overwrited if `custom` is set. | `string` | empty | `shields`, `badgen` | **v1.0.0** |
| title | Mouse hover alt text | `string` | empty | `discord`, `shields`, `fury`, `snyk`, `badgen` | **v1.0.0** |
| message | Badge text (right side). NOTE: Overwrited if `custom` is set. | `string` | empty | `discord`, `shields`, `fury`, `snyk`, `badgen` |  **v1.0.0** |
| style | Look of badge.  NOTE: Overwrited if `custom` is set. | `plastic` / `flat` / `flat-square` / `for-the-badge` / `social` | `flat` | `shields` | **v1.0.0** |
| logo | Show logo (left side).  NOTE: Overwrited if `custom` is set. | shields: `bitcoin` , `dependabot` , `discord` , `gitlab` , `npm` , `paypal` , `serverfault` , `stackexchange` , `superuser` , `telegram` , `travis` and more on [docs](https://shields.io/). <br><br> badgen: `airbnb`, `apple`, `appveyor`, `atom`, `awesome`, `azure`, `azurepipelines`, `bitcoin`, `buymeacoffee`, `chrome`, `circleci`, `cocoapods`, `codacy`, `codebeat`, `codeclimate`, `codecov`, `codeship`, `commonwl`, `deepscan`, `dependabot`, `discord`, `dockbit`, `docker`, `eclipse`, `firefox`, `flow`, `git`, `github`, `gitlab`, `gitter`, `googleplay`, `graphql`, `haskell`, `jsdelivr` and more on [docs](https://badgen.net/) | empty | `shields`, `badgen` | **v1.0.0** |
| server_id | if platform is discord, set your discord server_id | `DISCORD_SERVER_ID` | empty | `discord`  | **v1.0.0** |

## 💫 License
* Code and Contributions have **MIT License**
* Images and logos have **CC BY-NC 4.0 License** ([Freepik](https://it.freepik.com/) Premium License)
* Documentations and Translations have **CC BY 4.0 License**


# ❤️ Thanks! Leave a feedback!