Tool to help automate adding contributor acknowledgements according to the all-contributors specification
Find a file
Kirstie Whitaker 00d1e08ec5 docs: add note about using npx cli command (#114)
<!--
Thanks for your interest in the project. Bugs filed and PRs submitted are appreciated!

Please make sure that you are familiar with and follow the Code of Conduct for
this project (found in the CODE_OF_CONDUCT.md file).

Also, please make sure you're familiar with and follow the instructions in the
contributing guidelines (found in the CONTRIBUTING.md file).

If you're new to contributing to open source projects, you might find this free
video course helpful: http://kcd.im/pull-request

Please fill out the information below to expedite the review and (hopefully)
merge of your pull request!
-->

<!-- What changes are being made? (What feature/bug is being fixed here?) -->
**What**: Add a couple of sentences about running the from the command line with `npx` - they're almost verbetim the "heads up" that @kentcdodds suggested in https://github.com/jfmengels/all-contributors-cli/issues/92#issuecomment-391766876..

<!-- Why are these changes necessary? -->
**Why**: I was having difficulty understanding how to run the commands and I found this text in issue #92 super helpful - I figured it would be for others too 😄 

<!-- How were these changes implemented? -->
**How**: Updated text in README

<!-- Have you done all of these things?  -->
**Checklist**:
<!-- add "N/A" to the end of each line that's irrelevant to your changes -->
<!-- to check an item, place an "x" in the box like so: "- [x] Documentation" -->
- [x] Documentation
- [ ] Tests -- NA
- [x] Ready to be merged <!-- In your opinion, is this ready to be merged as soon as it's reviewed? -->
- [ ] Added myself to contributors table -- ironically I'm not sure how to do this 🤣 <!-- this is optional, see the contributing guidelines for instructions -->

<!-- feel free to add additional comments -->
2018-10-18 09:59:10 -06:00
.github chore: upgrade and migrate tooling stuff (#73) 2017-11-22 11:09:06 -07:00
other chore: upgrade and migrate tooling stuff (#73) 2017-11-22 11:09:06 -07:00
src fix: better output format for git command (#113) 2018-10-18 09:58:29 -06:00
.all-contributorsrc feat: support Gitlab self hosted instance (#95) 2018-08-02 16:51:04 -05:00
.gitignore chore: upgrade and migrate tooling stuff (#73) 2017-11-22 11:09:06 -07:00
.travis.yml chore: upgrade and migrate tooling stuff (#73) 2017-11-22 11:09:06 -07:00
jest.config.js chore: upgrade and migrate tooling stuff (#73) 2017-11-22 11:09:06 -07:00
package.json feat: support Gitlab self hosted instance (#95) 2018-08-02 16:51:04 -05:00
prettier.config.js chore: upgrade and migrate tooling stuff (#73) 2017-11-22 11:09:06 -07:00
README.md docs: add note about using npx cli command (#114) 2018-10-18 09:59:10 -06:00

all-contributors-cli 🤖

Automate acknowledging contributors to your open source projects


Build Status Code Coverage version downloads MIT License

All Contributors PRs Welcome Code of Conduct Watch on GitHub Star on GitHub Tweet

The problem

You want to implement the 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 specification for your GitHub or GitLab repository.

Table of Contents

Installation

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:

# Use npx for npm@^5.2.0
npx all-contributors init
# Or directly execute the bin
./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

Usage

A quick note: We recommend that you install all-contributors-cli as a dependency in your project. If you do that then you can run the all-contributors binary from within your package.json scripts, or you can run it in your terminal with npx all-contributors. Below we'll just show all-contributors to keep things simple, but if you're having any difficulties, then give the npx all-contributors-cli route a try 😺

Generating the contributors list

Please add following placeholders in files to specify the generation area first.

<!-- ALL-CONTRIBUTORS-LIST: START - Do not remove or modify this section -->
<!-- ALL-CONTRIBUTORS-LIST:END -->

Then 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 or Gitlab username, and contribution is a ,-separated list of ways to contribute, from the following list (see the specs):

Please note that if you are using a self-hosted gitlab instance, before adding contributor, you need to set an environment variable named PRIVATE_TOKEN first.

Private token is the personal access token to authenticate with the GitLab API.

# set private token on linux
export PRIVATE_TOKEN=your_private_token
# set private token on windows
set PRIVATE_TOKEN=your_private_token

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.

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:

Option Description Example/Default
projectName Mandatory, name of the project. Example: all-contributors-cli
projectOwner Mandatory, name of the user the project is hosted by. Example: jfmengels
repoType Type of repository. Must be either github or gitlab. Default: github
repoHost Points to the repository hostname. Change it if you use a self-hosted repository. Default: https://github.com if repoType is github, and https://gitlab.com if repoType is gitlab
files Array of files to update. Default: ['README.md']
imageSize Size (in px) of the user's avatar. Default: 100
commit Auto-commit badge when adding contributors. true or false
contributorsPerLine Maximum number of columns for the contributors table. Default: 7
badgeTemplate Define your own lodash template to generate the badge.
contributorTemplate Define your own lodash template to generate the contributor.
types Specify custom symbols or link templates for contribution types. Can override the documented types.
{
  "projectName": "all-contributors-cli",
  "projectOwner": "jfmengels",
  "repoType": "github",
  "repoHost": "https://github.com",
  "files": ["README.md"],
  "imageSize": 100,
  "commit": false,
  "contributorsPerLine": 7,
  "badgeTemplate": "[![All Contributors](https://img.shields.io/badge/all_contributors-<%= contributors.length %>-orange.svg?style=flat-square)](#contributors)",
  "contributorTemplate": "<%= avatarBlock %><br /><%= contributions %>",
  "types": {
    "custom": {
      "symbol": "🔭",
      "description": "A custom contribution type.",
      "link": "[<%= symbol %>](<%= url %> \"<%= description %>\"),"
    }
  },
  "contributors": []
}

Contributors

Thanks goes to these wonderful people (emoji key):


Jeroen Engels

💻 📖 ⚠️

Kent C. Dodds

📖 💻

João Guimarães

💻

Ben Briggs

💻

Itai Steinherz

📖 💻

Alex Jover

💻 📖

Jerod Santo

💻

Kevin Jalbert

💻

tunnckoCore

🔧

Mehdi Achour

💻

Roy Revelt

🐛

Chris Vickery

💻

Bryce Reynolds

💻

James, please

🤔 💻

Spyros Ioakeimidis

💻

Fernando Costa

💻

snipe

📖

Gant Laborde

💻

Md Zubair Ahmed

📖 🐛 💻 ⚠️

Divjot Singh

📖

João Marques

💻 📖 🤔

Andrew Lisowski

💻 📖 ⚠️

Xianming Zhong

📖

Dura

📖

C.Y.Xu

💻 📖

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

LICENSE

MIT