repocop
v0.0.4
Published
Gathers metadata from source code repositories
Downloads
20
Readme
RepoCop
RepoCop monitors your source code repositories and reports violations to committers.
Primary Directives
- Each repository should have a file called repocop.json in the root directory
- repocop.json should contain at least the following element
{
"importance": "<critical|high|medium|low>"
}
Prerequisits
- node
- git
Installation
Thanks to all sorts of interactive shenanigans with ssh and bower you are best running this by hand
mkdir -p $INSTALL_DIR
git clone https://github.com/acuminous/RepoCop.git $INSTALL_DIR
cd $INSTALL_DIR
npm install
bower install
./node_modules/.bin/gulp build
NODE_ENV=production node server.js --server.host=$HOST --server.port=$PORT
Updating to the latest version
cd $INSTALL_DIR
git fetch
git reset --hard origin/master
npm install
./node_modules/.bin/gulp build
kill -s SIGUSR2 $REPOCOP_PID
Production Configuration
RepoCop requires you to define organisations in conf/private.json, e.g.
{
"survey": {
"organisations": [
{
"name": "<organisation name>",
"providerKey": "github",
"authentication": {
"type": "basic",
"username": "<machine user>",
"password": "<application key>"
}
}
]
}
}
The application key can be generated in GitHub on the Applications settings page, under Personal Access Tokens. It should have access to the following roles
GitHub
- repo
- public_repo
- user:email
- repo:status
- read:org
Triggering a repo survey
$ curl -X POST localhost:8080/api/survey
Accepted