all-contributors-cli πŸ€–

Automate acknowledging contributors to your open source projects


[![Build Status][build-badge]][build] [![Code Coverage][coverage-badge]][coverage] [![version][version-badge]][package] [![downloads][downloads-badge]][downloads] [![MIT License][license-badge]][license] [![All Contributors](https://img.shields.io/badge/all_contributors-18-orange.svg?style=flat-square)](#contributors) [![PRs Welcome][prs-badge]][prs] [![Code of Conduct][coc-badge]][coc] [![Watch on GitHub][github-watch-badge]][github-watch] [![Star on GitHub][github-star-badge]][github-star] [![Tweet][twitter-badge]][twitter] ## The problem You want to implement the [All Contributors][all-contributors] spec, but don't want to maintain the table by hand ## This solution This is a tool to help automate adding contributor acknowledgements according to the [all-contributors](https://github.com/kentcdodds/all-contributors) specification. ## Table of Contents - [Installation](#installation) - [Usage](#usage) - [Configuration](#configuration) - [Inspiration](#inspiration) - [Other Solutions](#other-solutions) - [Contributors](#contributors) - [LICENSE](#license) ## Installation This module is distributed via [npm][npm] which is bundled with [node][node] and should be installed as one of your project's `devDependencies`: ``` npm install --save-dev all-contributors-cli ``` Then init the project using `init` and answer a few questions: ```console ./node_modules/.bin/all-contributors init ``` Then you can add these scripts to your `package.json`: ```json { "scripts": { "contributors:add": "all-contributors add", "contributors:generate": "all-contributors generate" } } ``` and use them via `npm run`: ```console npm run contributors:add -- jfmengels doc npm run contributors: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. ```console 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. ```console # Add new contributor , who made a contribution of type all-contributors add # 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](https://github.com/kentcdodds/all-contributors#emoji-key)): * blog: [πŸ“](# "Blogposts") * bug: [πŸ›](# "Bug reports") * code: [πŸ’»](# "Code") * design: [🎨](# "Design") * doc: [πŸ“–](# "Documentation") * eventOrganizing: [πŸ“‹](# "Event Organizing") * example: [πŸ’‘](# "Examples") * financial: [πŸ’΅](# "Financial") * fundingFinding: [πŸ”](# "Funding Finding") * ideas: [πŸ€”](# "Ideas, Planning, & Feedback") * infra: [πŸš‡](# "Infrastructure (Hosting, Build-Tools, etc)") * plugin: [πŸ”Œ](# "Plugin/utility libraries") * question: [πŸ’¬](# "Answering Questions") * review: [πŸ‘€](# "Reviewed Pull Requests") * talk: [πŸ“’](# "Talks") * test: [⚠️](# "Tests") * tool: [πŸ”§](# "Tools") * translation: [🌍](# "Translation") * tutorial: [βœ…](# "Tutorials") * video: [πŸ“Ή](# "Videos") ### Check for missing contributors Use `check` to compare contributors from GitHub with the ones credited in your `.all-contributorsrc` file, in order to make sure that credit is given where it's due. ```console all-contributors check ``` > Due to GitHub API restrictions, this command only works for projects with less > than 500 contributors. ## 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](https://github.com/kentcdodds/all-contributors#emoji-key)): | [
Jeroen Engels](https://github.com/jfmengels)
[πŸ’»](https://github.com/jfmengels/all-contributors-cli/commits?author=jfmengels "Code") [πŸ“–](https://github.com/jfmengels/all-contributors-cli/commits?author=jfmengels "Documentation") [⚠️](https://github.com/jfmengels/all-contributors-cli/commits?author=jfmengels "Tests") | [
Kent C. Dodds](http://kentcdodds.com/)
[πŸ“–](https://github.com/jfmengels/all-contributors-cli/commits?author=kentcdodds "Documentation") [πŸ’»](https://github.com/jfmengels/all-contributors-cli/commits?author=kentcdodds "Code") | [
JoΓ£o GuimarΓ£es](https://github.com/jccguimaraes)
[πŸ’»](https://github.com/jfmengels/all-contributors-cli/commits?author=jccguimaraes "Code") | [
Ben Briggs](http://beneb.info)
[πŸ’»](https://github.com/jfmengels/all-contributors-cli/commits?author=ben-eb "Code") | [
Itai Steinherz](https://github.com/itaisteinherz)
[πŸ“–](https://github.com/jfmengels/all-contributors-cli/commits?author=itaisteinherz "Documentation") [πŸ’»](https://github.com/jfmengels/all-contributors-cli/commits?author=itaisteinherz "Code") | [
Alex Jover](https://github.com/alexjoverm)
[πŸ’»](https://github.com/jfmengels/all-contributors-cli/commits?author=alexjoverm "Code") [πŸ“–](https://github.com/jfmengels/all-contributors-cli/commits?author=alexjoverm "Documentation") | [
Jerod Santo](https://jerodsanto.net)
[πŸ’»](https://github.com/jfmengels/all-contributors-cli/commits?author=jerodsanto "Code") | | :---: | :---: | :---: | :---: | :---: | :---: | :---: | | [
Kevin Jalbert](https://github.com/kevinjalbert)
[πŸ’»](https://github.com/jfmengels/all-contributors-cli/commits?author=kevinjalbert "Code") | [
tunnckoCore](https://i.am.charlike.online)
[πŸ”§](#tool-charlike "Tools") | [
Mehdi Achour](https://machour.idk.tn/)
[πŸ’»](https://github.com/jfmengels/all-contributors-cli/commits?author=machour "Code") | [
Roy Revelt](https://codsen.com)
[πŸ›](https://github.com/jfmengels/all-contributors-cli/issues?q=author%3Arevelt "Bug reports") | [
Chris Vickery](https://github.com/chrisinajar)
[πŸ’»](https://github.com/jfmengels/all-contributors-cli/commits?author=chrisinajar "Code") | [
Bryce Reynolds](https://github.com/brycereynolds)
[πŸ’»](https://github.com/jfmengels/all-contributors-cli/commits?author=brycereynolds "Code") | [
James, please](http://www.jmeas.com)
[πŸ€”](#ideas-jmeas "Ideas, Planning, & Feedback") [πŸ’»](https://github.com/jfmengels/all-contributors-cli/commits?author=jmeas "Code") | | [
Spyros Ioakeimidis](http://www.spyros.io)
[πŸ’»](https://github.com/jfmengels/all-contributors-cli/commits?author=spirosikmd "Code") | [
Fernando Costa](https://github.com/fadc80)
[πŸ’»](https://github.com/jfmengels/all-contributors-cli/commits?author=fadc80 "Code") | [
snipe](https://snipe.net)
[πŸ“–](https://github.com/jfmengels/all-contributors-cli/commits?author=snipe "Documentation") | [
Gant Laborde](http://gantlaborde.com/)
[πŸ’»](https://github.com/jfmengels/all-contributors-cli/commits?author=GantMan "Code") | This project follows the [all-contributors](https://github.com/kentcdodds/all-contributors) specification. Contributions of any kind are welcome! ## LICENSE MIT [npm]: https://www.npmjs.com/ [node]: https://nodejs.org [build-badge]: https://img.shields.io/travis/jfmengels/all-contributors-cli.svg?style=flat-square [build]: https://travis-ci.org/jfmengels/all-contributors-cli [coverage-badge]: https://img.shields.io/codecov/c/github/jfmengels/all-contributors-cli.svg?style=flat-square [coverage]: https://codecov.io/github/jfmengels/all-contributors-cli [version-badge]: https://img.shields.io/npm/v/all-contributors-cli.svg?style=flat-square [package]: https://www.npmjs.com/package/all-contributors-cli [downloads-badge]: https://img.shields.io/npm/dm/all-contributors-cli.svg?style=flat-square [downloads]: http://www.npmtrends.com/all-contributors-cli [license-badge]: https://img.shields.io/npm/l/all-contributors-cli.svg?style=flat-square [license]: https://github.com/jfmengels/all-contributors-cli/blob/master/other/LICENSE [prs-badge]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square [prs]: http://makeapullrequest.com [coc-badge]: https://img.shields.io/badge/code%20of-conduct-ff69b4.svg?style=flat-square [coc]: https://github.com/jfmengels/all-contributors-cli/blob/master/other/CODE_OF_CONDUCT.md [github-watch-badge]: https://img.shields.io/github/watchers/jfmengels/all-contributors-cli.svg?style=social [github-watch]: https://github.com/jfmengels/all-contributors-cli/watchers [github-star-badge]: https://img.shields.io/github/stars/jfmengels/all-contributors-cli.svg?style=social [github-star]: https://github.com/jfmengels/all-contributors-cli/stargazers [twitter]: https://twitter.com/intent/tweet?text=Check%20out%20all-contributors-cli!%20https://github.com/jfmengels/all-contributors-cli%20%F0%9F%91%8D [twitter-badge]: https://img.shields.io/twitter/url/https/github.com/jfmengels/all-contributors-cli.svg?style=social [emojis]: https://github.com/kentcdodds/all-contributors#emoji-key [all-contributors]: https://github.com/kentcdodds/all-contributors