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
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_DIRgit clone https://github.com/acuminous/RepoCop.git $INSTALL_DIRcd $INSTALL_DIRnpm installbower install./node_modules/.bin/gulp buildNODE_ENV=production node server.js --server.host=$HOST --server.port=$PORT
Updating to the latest version
cd $INSTALL_DIRgit fetchgit reset --hard origin/master npm install./node_modules/.bin/gulp buildkill -s SIGUSR2 $REPOCOP_PID
Production Configuration
RepoCop requires you to define organisations in conf/private.json, e.g.
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