A simple node 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
$ npm install contributor -g
Or (preferably), add it as one of your projects package.json
dependencies. Make sure you have a valid repository property pointing to your repo... Something like this will do the trick:
{
...
"dependencies": {
"contributor": "0.1.x"
},
"repository" : {
"type" : "git",
"url" : "http://github.com/user/repo.git"
}
...
}
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:
{
...
"contributors": [
{
"name": "Jake LeBoeuf",
"email": "[email protected]",
"url": "https://github.com/jakeleboeuf",
"contributions": 20,
"hireable": true
}
]
}
As of v0.1.12, you'll be prompted to optionally Save to contributors.md? (yes/no)
.
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.
***Example contributors.md***
Jake LeBoeuf
17 Commits / 133,879++ / 227--
95.54% |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Drew Smith
1 Commits / 79++ / 2--
04.46% |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Generated on Mon Aug 04 2014 14:10:14 GMT-0400 (EDT)
Screenshot of intended Markdown
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.
$ 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
:
{
"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
:
{
"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": "[email protected]",
"url": "https://github.com/jakeleboeuf",
"contributions": 20,
"hireable": true
}
]
}