OpenHub is the triage layer for open-source maintainers.

Jev classifies every pull request and issue, a truth table in code routes it, and agents verify the rest. You only see what needs you.

Continue with GitHubOne flow for sign in and sign up. Reads your profile and email, nothing else.
Inbox
  • Fix trailing-slash mismatch in nested route params #1284
    Verify
  • Refresh session token before route loaders run #1283
    Maintainer review
  • docs: clarify Dialog focus-trap behaviour #902
    Fast-track
  • Improve code quality and performance #377
    Request changes
  • Add Combobox virtualized list support #901
    Request changes
  • Rename Append() to Write() across storage drivers #376
    Maintainer review
  • Check out my crypto trading course 🚀 #88
    Close

Used every day by maintainers of fast-moving projects

typed-routerpulse-uiledgeredge-cachequill-dblumen-cli

Every pull request, classified

Jev answers nine typed questions about each diff in one request, with calibrated probabilities instead of opinions.

How classification works
mkhonta/typed-router#1283
Refresh session token before route loaders run
  • Spam
    2%
  • Boilerplate description
    8%
  • Matches description
    93%
  • Adds tests
    86%
  • Touches auth
    91%
  • Handles secrets
    42%
  • Breaks public API
    6%

Decisions you can read

A truth table in code turns those judgments, author trust and your policy into one lane — and shows which row fired.

Read the truth table
mkhonta/typed-router#1283
Refresh session token before route loaders run
  1. 1spam is yesClose
  2. 2boilerplate is yes and matches description is noRequest changes
  3. 3touches auth or handles secrets is yes or unsettledMaintainer review
  4. 4breaks public API is yesMaintainer review
  5. 5policy requires tests, feature or bug fix, adds tests is noRequest changes
  6. 6blast radius < 1 and author trust ≥ policyFast-track
  7. 7otherwiseVerify

Red builds that explain themselves

The verify agent reads CI and failing logs, then tells the contributor what broke and how to fix it.

Learn about agents
openhub-labs/edge-cache#87
Stale-while-revalidate for 304 responses
  • clippy34.0s
  • unit1m 1s
  • integration1m 38s
OpenHub commented

integration::swr_304 fails: revalidated entry keeps the old Age header. Reset Age when storing the 304 merge.

In every harness

OpenHub is an MCP server. Claude Code, Cursor and your own agents get the same inbox you do.

Connect over MCP
claude mcp add --transport http openhub https://openhub.mkhonta.com/api/mcp \
  --header "Authorization: Bearer $OPENHUB_API_KEY"

What maintainers say

I open GitHub and the only things in front of me are the things that actually need me.
NKNaledi KhumaloMaintainer, pulse-ui
The truth table is the feature. When it routes something to me, I can see exactly why.
JKJan KowalskiCore team, ledger
Contributors get a real explanation of a red build within minutes, not days.
AOAmara OkaforMaintainer, typed-router
“What's blocked on me?” in Claude Code is now my morning standup.
MLMei LinMaintainer, edge-cache
Spam and drive-by slop never reach my inbox anymore. That alone was worth it.
LFLucas FerreiraMaintainer, quill-db
We fast-track a third of our PRs now, and I trust every one of those decisions.
ONOla NordmannMaintainer, lumen-cli

Try OpenHub now.

One GitHub sign-in, and every contribution lands in a triaged inbox.

Continue with GitHub