Automate acknowledging contributors to your open source projects
You want to implement the All Contributors spec, but don't want to maintain the table by hand
This is a tool to help automate adding contributor acknowledgements according to the all-contributors specification.
This module is distributed via npm which is bundled with 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:
./node_modules/.bin/all-contributors init
Then you can add these scripts to your package.json
:
{
"scripts": {
"contributors:add": "all-contributors add",
"contributors:generate": "all-contributors generate"
}
}
and use them via npm run
:
npm run contributors:add -- jfmengels doc
npm run contributors:generate
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
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):
- blog: π
- bug: π
- code: π»
- design: π¨
- doc: π
- eventOrganizing: π
- example: π‘
- financial: π΅
- fundingFinding: π
- ideas: π€
- infra: π
- plugin: π
- question: π¬
- review: π
- talk: π’
- test:
β οΈ - tool: π§
- translation: π
- tutorial: β
- video: πΉ
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.
all-contributors check
Due to GitHub API restrictions, this command only works for projects with less than 500 contributors.
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.
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind are welcome!
MIT