Sentinel is a GitHub App designed to help open source maintainers and teams cut through the noise in their repositories. Instead of just code review, PR Sentinel focuses on community health, contribution quality, and actionable signals so maintainers can spend less time filtering spam or duplicates — and more time merging meaningful work.
In this MVP version, PR Sentinel provides a simple but powerful workflow:
-
Load a Repository
- Select a repo and trigger a background job to sync its open PRs and issues.
-
Embed Contributions with pgvector
- PRs and issues are stored in PostgreSQL with vector embeddings (via pgvector) for semantic search.
-
Surface Insights
-
For each PR, PR Sentinel shows:
- Similar past PRs or issues (to catch duplicates or related work).
- Contributor context (new vs returning).
- Simple signals like missing linked issue or suspiciously low-effort descriptions.
-
-
Temporary Workspace
- Repositories can be loaded and unloaded dynamically.
- Data is cleaned up after the session/demo, so the system stays lean.
Maintainers of popular repos face three key challenges:
- Noise: Spam PRs, duplicates, or trivial contributions.
- Context switching: Hard to track if a new PR relates to older issues or previous attempts.
- Time pressure: Limited time to triage community contributions.
PR Sentinel addresses these by:
- Embedding repo context (via pgvector) so PRs/issues can be matched semantically.
- Highlighting contributor activity (new vs repeat).
- Providing actionable signals at a glance.
This makes it easier to decide: merge, request changes, or close.
- Backend: FastAPI (receives GitHub webhooks, exposes APIs).
- Frontend: Next.js + Tailwind (dashboard for maintainers).
- Database: PostgreSQL with
pgvector(hosted via Supabase or Docker). - Background Tasks: Workers to fetch data, generate embeddings, and clean up after use.
- Auth: GitHub App installation flow (repo-scoped).
- Maintainer installs GitHub App.
- Webhook → Backend → Enqueue “Load Repo” task.
- Worker fetches PRs/issues, generates embeddings, stores in Postgres.
- Frontend queries backend for PR insights (similar PRs/issues, contributor history).
- Cleanup process deletes embeddings when repo/session ends.
- GitHub App integration
- Background task to load and embed repos
- Store embeddings in Postgres/pgvector
- Query API for “similar PRs/issues”
- Cleanup endpoints to remove repo data
- Polished maintainer dashboard
The MVP lays the foundation for more advanced capabilities:
- AI-powered PR classification (spam/duplicate/valuable).
- Contributor reputation and trust scoring.
- Community health analytics (trends, bottlenecks).
- Multi-repo governance dashboards.
- Extensible knowledge graph for long-term history.
- Local: Docker Compose (backend, frontend, Postgres).
- Cloud: Supabase (Postgres + pgvector), Railway/Fly.io for backend, Vercel for frontend.
- Cleanup: Automatic expiration of repo data after demo sessions.
- Open source maintainers
- Community managers
- Engineering orgs that manage external contributions