Apron Chat Protocol
Apron is a minimal protocol for self-hosted chats. Simple enough to write a server in ~100 lines, powerful enough for rooms, threads, bots, reactions, and more.
OwnRabbit is an open-source, self-hostable AI code reviewer for GitHub pull requests. Multi-agent reviews, inline suggestions, and per-repo control. A free CodeRabbit alternative.
Developer toolsTypeScript · JavaScriptGitHub @imtiyazakiwatOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Open-source AI code reviewer for GitHub PRs. Multi-agent reviews, inline suggestions, per-repo control. Self-hostable CodeRabbit alternative.
Taken from the repository README
Loading the full README.
Read the full README ↗Open-source AI code review for GitHub pull requests. A self-hostable CodeRabbit alternative: a team of specialist agents reads your diff, investigates the codebase, and posts only the comments worth reading.
Install the GitHub App · Dashboard · Self-host · Contribute
Most AI reviewers flood pull requests with generic advice. OwnRabbit is built around one idea: signal over volume.
sequenceDiagram
participant GH as GitHub
participant Web as Web app (Vercel)
participant Q as Cloud Tasks
participant W as Worker (Cloud Run)
participant AI as LLM
GH->>Web: webhook (PR opened / pushed / @mention)
Web->>Web: verify signature, load repo settings
Web->>Q: enqueue job (deduped by delivery id)
Q->>W: POST /review (OIDC-signed)
W->>AI: triage: summarize, rank files by risk
par one per enabled specialist
W->>AI: review batch (+ read_file / search tools)
end
W->>AI: judge: keep / drop / re-grade
W->>GH: summary comment + review with inline suggestions
| Stage | What it does |
|---|---|
| Triage | A fast model summarizes the PR and ranks files high / medium / low / skip. |
| Specialists | Each enabled reviewer gets the diff with real line numbers and its own focus. |
| Investigate | Reviewers call read_file, search, and list_dir against a read-only checkout (git hooks and LFS disabled). |
| Anchor | Findings are validated against the diff so GitHub accepts every inline comment. |
| Judge | Drops noise and duplicates, may lower overstated severity. |
| Publish | One summary comment (updated in place) and one review per run. |
Once the app is installed on a repository:
| Comment | Effect |
|---|---|
@ownrabbit or @ownrabbit review | Review commits pushed since the last review |
@ownrabbit full review | Re-review the entire PR |
@ownrabbit check the auth flow | Full review with your note as extra focus |
Only repository owners, members, and collaborators can trigger reviews by mention.
apps/
web/ Next.js dashboard, GitHub OAuth, webhook → Cloud Tasks (Vercel)
worker/ Review engine: triage, agents, judge, publish (Cloud Run)
packages/
core/ Shared settings schema, trigger rules, Firestore + GitHub clients
scripts/
create-github-app.mjs One-click GitHub App registration via manifest
You need a GCP project (Firestore, Cloud Run, Cloud Tasks, Secret Manager), a Vercel account, and an OpenAI-compatible LLM endpoint.
git clone https://github.com/imtiyazakiwat/ownrabbit && cd ownrabbit
pnpm install
worker, invoker, web). See docs/self-hosting.md for the exact commands.pnpm --filter @ownrabbit/worker build
gcloud run deploy ownrabbit-worker --source=apps/worker/dist --no-allow-unauthenticated ...
node scripts/create-github-app.mjs https://your-app.vercel.app "Your Bot Name"
apps/web and the variables in .env.example.pnpm install
pnpm test # unit + pipeline tests (vitest)
pnpm typecheck # all packages
pnpm dev:web # http://localhost:3000
The worker's pipeline is fully testable without network access: see apps/worker/src/orchestrator.test.ts for fakes of GitHub and the LLM.
.ownrabbit.yaml in-repo config that overrides dashboard settingsIdeas and feedback are welcome in Discussions or Issues.
Contributions of all sizes are welcome. Start with CONTRIBUTING.md, and look for issues labeled good first issue.
Please report vulnerabilities privately. See SECURITY.md.
The license is being finalized. Until a LICENSE file is added, all rights are reserved by the authors.