contributor
Version:
A simple module to add git contributors to your package.json.
152 lines (114 loc) • 4.26 kB
Markdown
#Contributor [](https://travis-ci.org/jakeleboeuf/contributor) [](http://badge.fury.io/gh/jakeleboeuf%2Fcontributor)
A simple [node](http://nodejs.org) module to grab your project contributors from your github repo and add them to your package.json. You'll also be prompted to generate a Markdown version of your contributors list and save it to `contributors.md`.
## Install from [npm](https://www.npmjs.org/package/contributor)
$ npm install contributor -g
or add it as one of your projects `package.json` dependencies like this:
```json
{
...
"dependencies": {
"contributor": "0.1.x"
}
}
```
## Usage
To get a record of your project's contribution info from your github repo, `cd` into the directory containing your `package.json` and run:
$ contributor
Bingo! Your `package.json` will be appended with something like this:
```json
{
...
"contributors": [
{
"name": "Jake LeBoeuf",
"email": "dev@jakeleboeuf.com",
"url": "https://github.com/jakeleboeuf",
"contributions": 20,
"hireable": true
}
]
}
```
As of [v0.1.12](https://github.com/jakeleboeuf/contributor/releases/tag/v0.1.12), you'll be prompted to optionally `Save to contributors.md? (yes/no)`.

### contributors.md Preview
It should look all spiffy, but unfortunaly I realized after pushing this that github does not support custom text colors and neato things. lame. I'll fix it someday.
<br>
***Screenshot of intended Markdown***

### Behind the scenes
[Contributor](https://www.npmjs.org/package/contributor) hunts for repository.url in your your `package.json`. If it finds a valid repo url, it requests collaborator info from the github api and adds it to your `package.json`. Super simple. If your repo is private, you'll be prompted for your Github username/password.
`$ contributor` will always make a backup of your original json to `.package.json`, so all your secret codes are safe.
#### Pro tip: Add a git push alias and kill a couple birds.
$ git config alias.pushc \!git push $1 $2 && contributor
This will simply add the pushc alias to your .git/config file like so:
[alias]
pushc = !git push $1 $2 && contributor
Then you can run `git pushc origin master`, and voila! Give it a try on your next project and let me know what you think!
--
###Examle output
package.json **Before** `$ contributor`:
```json
{
"author": "Jake LeBoeuf",
"name": "contributor",
"description": "Example package.json.",
"version": "0.1.1",
"homepage": "https://github.com/jakeleboeuf/contributor",
"repository": {
"type": "git",
"url": "https://github.com/jakeleboeuf/contributor.git"
},
"bugs": {
"url": "https://github.com/jakeleboeuf/contributor/issues"
},
"engines": {
"node": "0.10.x",
"npm": "1.4.x"
},
"dependencies": {
"request": "2.34.x",
"ansi-color": "0.2.x",
"github": "0.1.x",
"prompt": "0.2.x"
}
}
```
package.json **After** `$ contributor`:
```json
{
"author": "Jake LeBoeuf",
"name": "contributor",
"description": "Example package.json.",
"version": "0.1.1",
"homepage": "https://github.com/jakeleboeuf/contributor",
"repository": {
"type": "git",
"url": "https://github.com/jakeleboeuf/contributor.git"
},
"bugs": {
"url": "https://github.com/jakeleboeuf/contributor/issues"
},
"engines": {
"node": "0.10.x",
"npm": "1.4.x"
},
"dependencies": {
"request": "2.34.x",
"ansi-color": "0.2.x",
"github": "0.1.x",
"prompt": "0.2.x"
},
"contributors": [
{
"name": "Jake LeBoeuf",
"email": "dev@jakeleboeuf.com",
"url": "https://github.com/jakeleboeuf",
"contributions": 20,
"hireable": true
}
]
}
```
[](https://www.gittip.com/jakeleboeuf/)
[](https://nodei.co/npm/contributor/)