/all-contributors-cli

Tool to help automate adding contributor acknowledgements according to the all-contributors specification.

Primary LanguageJavaScript

all-contributors-cli

version All Contributors

This is a tool to help automate adding contributor acknowledgements according to the all-contributors specification.

Installation

You can install it via npm:

npm install all-contributors-cli -g

Then init the project using init and answer a few questions:

all-contributors init

Once initialized, you don't need to have all-contributors-cli installed globally. You can instead save it as a devDependency of your project and add it to your package.json scripts:

npm install --save-dev all-contributors-cli
{
  "scripts": {
    "add": "all-contributors add",
    "generate": "all-contributors generate"
  }
}

and use them via npm run:

npm run add -- jfmengels doc
npm run generate

Usage

Generating the contributors list

Use generate to generate the contributors list and inject it into your contributors file. Contributors will be read from your configuration file.

all-contributors generate

Add/update contributors

Use add to add new contributors to your project, or add new ways in which they have contributed. They will be added to your configuration file, and the contributors file will be updated just as if you used the generate command.

# Add new contributor <username>, who made a contribution of type <contribution>
all-contributors add <username> <contribution>
# Example:
all-contributors add jfmengels code,doc

Where username is the user's GitHub username, and contribution is a ,-separated list of ways to contribute, from the following list (see the specs):

  • code: πŸ’»
  • plugin: πŸ”Œ
  • tool: πŸ”§
  • infra: πŸš‡
  • doc: πŸ“–
  • translate: 🌍
  • question: πŸ’¬
  • test: ⚠️
  • bug: πŸ›
  • example: πŸ’‘
  • blog: πŸ“
  • tutorial: βœ…
  • video: πŸ“Ή
  • talk: πŸ“’
  • design: 🎨
  • review: πŸ‘€
  • financial: πŸ’΅
  • fundingFinding: πŸ”
  • eventOrganizing: πŸ“‹

Configuration

You can configure the project by updating the .all-contributorsrc JSON file. The data used to generate the contributors list will be stored in there, and you can configure how you want all-contributors-cli to generate the list.

These are the keys you can specify:

  • files: Array of files to update. Default: ['README.md']
  • projectOwner: Name of the user the project is hosted by. Example: jfmengels/all-contributors-cli --> jfmengels. Mandatory.
  • projectName: Name of the project. Example: jfmengels/all-contributors-cli --> all-contributors-cli. Mandatory.
  • types: Specify custom symbols or link templates for contribution types. Can override the documented types.
  • imageSize: Size (in px) of the user's avatar. Default: 100.
  • contributorsPerLine: Maximum number of columns for the contributors table. Default: 7.
  • contributorTemplate: Define your own template to generate the contributor list.
  • badgeTemplate: Define your own template to generate the badge.

Contributors

Thanks goes to these wonderful people (emoji key):


Jeroen Engels

πŸ’» πŸ“– ⚠️

Kent C. Dodds

πŸ“– πŸ’»

JoΓ£o GuimarΓ£es

πŸ’»

Ben Briggs

πŸ’»

Itai Steinherz

πŸ“– πŸ’»

Alex Jover

πŸ’» πŸ“–

This project follows the all-contributors specification. Contributions of any kind are welcome!

LICENSE

MIT