A novel recruiting tool using GitHub events.
Finding capable developers is challenging. This tool starts with a simple heuristic - the ability to get a pull request (PR) merged given a sufficient amount of feedback, and filters from there. Credit to @sequoia for this heuristic.
The flow is currently as follows:
Cerebro can be run in a number of different ways, always configured by environment variables.
The following environment variables are available:
LANGUAGES
: Required. Comma separated list of the target languagesGH_TOKEN
: Not required but highly recommended. Your GitHub personalCOMMENT_THRESHOLD
: optional, default 3. Show PRs with review commentsSHOW_NON_HIREABLE
: optional, default false. Show applicants that are notCHANGESET_THRESHOLD
: optional, default 5432. Only match PRs that have anpx
You can skip the whole installation process altogether and just run Cerebro
using npx
GH_TOKEN=[insert GH token here] \
LANGUAGES=Solidity,Rust \
npx cerebro-cli
With docker
:
docker run -ti \
-e GH_TOKEN=XXXXX \
-e LANGUAGES=c++,javascript \
aphelionz/cerebro-cli:v0.3.0
Or in your docker-compose
file:
services:
cerebro:
image: aphelionz/cerebro-cli:v0.3.0
environment:
GH_TOKEN: XXXXX
LANGUAGES: rust,solidity
By default, the app will expose Prometheus-compatible metrics on port 9100. These include all of the normal default nodejs metrics, as well as some custom metrics for Cerebro:
# HELP unique_events_processed Number of unique events processed by Cerebro
# TYPE unique_events_processed counter
unique_events_processed{app="cerebro"} 8811
# HELP suitable_pull_requests_found Number of suitable pull requests by Cerebro
# TYPE suitable_pull_requests_found counter
suitable_pull_requests_found{app="cerebro"} 6
# HELP candidates_found Count of candidates found by Cerebro so far
# TYPE candidates_found counter
candidates_found{app="cerebro"} 0
Issues and PRs accepted. More info coming soon.
git clone https://github.com/aphelionz/cerebro
cd cerebro
npm install
Then run npm start
with the aforementioned environment variables
to run, test, and develop!
GitHub API v4 does not support listening to the public event timeline.
review_comments
hireable
is either null (false) or true. However null is the defaultAGPL © 2020 Mark Henderson