Built by people who shipped at
- Atlas
- Juniper
- Halcyon
- Morrow
01Features
A reviewer that has read everything
Not a linter with opinions. Kestrel reasons about your code the way a senior teammate would, and shows its work.
- Suggested fixbilling/charge.ts · line 3 · seen in 4 callers
billing/charge.tsdiff export async function chargeInvoice(id: string) { const invoice = await db.invoices.find(id);- if (invoice.paid) return;+ if (invoice.paid || invoice.status === "void") return; return payments.charge(invoice.total, invoice.currency);}Reads the whole repo
Kestrel indexes your codebase first, so a suggestion knows every caller, type and test it touches.
KestrelBot09:41
Void invoices still reachpayments.charge. Three other callers already skip them; this one was missed in #812.Lena Koch09:52
Good catch. Can you point me to the other callers?KestrelBot09:52
billing/refund.ts:18billing/retry.ts:41jobs/dunning.ts:77Lena Koch09:55
Applied. Thanks.
Explains every change
Each suggestion comes with the reason and the evidence. Ask a follow-up right in the pull request.
- 01Index the repo1,284 files · 38 s
- 02Review the diff3 suggestions
- 03Map affected tests12 tests
- 04Secret scanQueued
Runs in CI
One step in GitHub Actions or GitLab CI. Reviews land before your teammates open the diff.
Accepted suggestions
41% from 18%
Learns your style
Dismiss a kind of suggestion twice and Kestrel stops making it.
Repositories and where their code is read Repository Runs on Kept Status acme/api Self-hosted 0 days Reviewed acme/web Kestrel EU 7 days Reviewed acme/infra Self-hosted 0 days Indexing acme/legacy — — Excluded Private by defaultNo training on your code
Run the reviewer on your own runners, or in our EU region with retention you set per repository.
02Changelog
Shipped this month
A release every other Thursday during the beta. Every change is reviewed by Kestrel first.
- v0.9 · Oct 30
Monorepo support
Kestrel now follows imports across workspaces and reviews a change against every package that uses it.
- apps/web
- apps/api
- packages/ui
- packages/billing
- packages/config
- v0.8 · Oct 16
Inline fixes
Apply a suggestion from the pull request or the command line. Kestrel reruns the affected tests before it commits.
Terminalbash kestrel apply 812 --suggestion 2✓ billing/charge.ts 1 line changed✓ tests 12 passed - v0.7 · Oct 2
GitHub and GitLab apps
Install in two clicks on either platform. Reviews, threads and status checks work the same on both.
- v0.6 · Sep 18
Self-hosted runner
One container image for your own CI. Code never leaves your network; only anonymous usage counts do.
- median time to first review
- 3min
- suggestions accepted
- 41%
- languages and frameworks
- 24
- since the beta opened
- 99.9%
03Pricing
Free while it learns. Fair when it ships.
Every plan is free during the beta. These are the prices from general availability.
Hobby
For side projects
€0€0/ month/ month
Public repositoriesPublic repositories
Join the waitlist- Public repositories
- 50 reviews a month
- GitHub app
Team
Most teamsFor product teams
€19€15/ seat / month/ seat / month
Billed monthly€180 per seat billed yearly
Join the waitlist- Private repositories
- Unlimited reviews
- Monorepo support
- GitHub and GitLab
Enterprise
For regulated code
CustomCustom
Annual contractAnnual contract
Talk to us- Self-hosted runner
- SSO and audit log
- Retention per repository
- Free during the beta
- Cancel any time
04FAQ
Before you ask
Anything else? Write to beta@kestrel.dev and a person answers.
Do you train models on my code?
Can I self-host Kestrel?
Which languages does it support?
What will it cost after the beta?
How do you keep it secure?
05Private beta
Get your invite
Leave your work email. Invites go out every Monday, in the order you joined.