gorse-io/gitrec
A recommender system for GitHub repositories based on Gorse provides personalized recommendations and similar repositories
GitRec – A Recommender System for GitHub Repositories
What it is
GitRec is an open‑source service that suggests GitHub repositories to users. It sits on top of Gorse, an open‑source recommendation engine, and provides a ready‑to‑use web UI plus browser extensions that surface recommendations directly inside GitHub.
Why it matters
Finding useful projects on GitHub is a pain point for developers. GitRec automates the discovery process:
- Personalised suggestions – based on the repos a user has starred.
- Related‑repo discovery – shows similar projects for any popular repository. The system can be self‑hosted, giving teams full control over data and the recommendation model.
Core components (as described in the README)
| Component | Role |
|---|---|
| Gorse engine | The underlying recommendation algorithm (collaborative‑filtering, content‑based, etc.). GitRec simply configures and queries it. |
| Web UI | Accessible at http://127.0.0.1:5000/, lets users browse recommendations and manage settings. |
| Gorse Dashboard | Admin UI at http://127.0.0.1:8088/ for monitoring the recommendation service. |
| Browser extensions | Chrome, Edge and Firefox add‑ons that inject recommendation widgets into the GitHub site. |
| Docker‑Compose stack | Spins up the Gorse service, a MySQL database, and the GitRec web server with a single command. |
| Data import | A pre‑built github.sql dump can be loaded into MySQL to give the system a starting catalogue of repositories. |
How to get it running (quick‑start steps)
- Clone the repo and
cdinto it. - Create a
.envfile with credentials for:- Gorse dashboard (user, password, API key)
- GitHub (personal access token, OAuth client ID/secret)
- Optional S3 bucket for backups
- Optional OpenAI endpoint (the README mentions an
OPENAI_MODELbut does not detail its use).
- Start the services with
docker-compose up -d. - Load sample data – download
github.sqland import it into the MySQL container. - Restart the master node so the imported data is recognised.
- Open the UI (
http://127.0.0.1:5000/) or install the browser extension to see recommendations.
Who might use it
- Individual developers who want a personalised “discover” page for GitHub.
- Teams that want an internal recommendation service without sending data to a third‑party SaaS.
- Researchers experimenting with recommendation algorithms on open‑source code data.
Limitations & open questions (based on the README)
- The README references an OpenAI model (
gpt-6-luna) but does not explain how it is used – it may be optional or experimental. - Running the full stack requires Docker, MySQL, and a GitHub OAuth app, which adds setup overhead.
- No explicit mention of model training; GitRec appears to rely on Gorse’s built‑in algorithms.
All information above is taken directly from the repository’s README.
Related
- Project
- Project
- Project
- Project
- Project