Skip to content

Magic Jev

Chrome extension that puts a Magic 8 Ball on GitHub pull requests: nine signals from the GitHub API go to a small server, Jev picks one of four verdicts, and the ball answers with a phrase plus its reasoning. It never approves, comments or reads code.

Stars
2
Language
TypeScript
License
MIT
Published by
Community
Author
acharyaanusha
Last verified
Oct 2026

About this project

A Magic 8 Ball for pull requests. Open a PR, click the ball, and it answers "should I approve this?" with one of the 20 classic phrases. The answer isn't random: the PR's real signals go to Jev, a typed-decision model that answers in about 200 ms, which is fast enough to land while the ball is still shaking. It's a toy with a real point. Jev doesn't write text. It gets structured state and picks one option from a short list, so it can sit inside an interaction that a chat model would make you wait for.

Quoted from the project's README. Read the full README.

Highlights

  • Nine signals come off the GitHub API: CI state, lines and files changed, docs-only, tests touched, approvals, changes requested, draft, bot author.
  • Jev picks one of four verdicts from plain-English criteria; the extension picks a random phrase from that verdict's five, so the variety is cosmetic.
  • The criteria also exist as code, and a verify script pushes 42 synthetic pull requests across the thresholds to check Jev against the rule.
  • The server receives the nine signals and nothing else: no repo name, no title, no code, no login. A GitHub token only goes to api.github.com.

Watch out

Out of the box the extension calls a shared server the author runs and pays for, capped at 20 asks a minute per address and a few dollars of Gateway spend a month, with no uptime promise; when that budget is gone the ball goes hazy until the month turns over. Anonymous GitHub reads cover roughly a dozen asks an hour on public pull requests, and a token needs the classic repo scope because fine-grained tokens will not read checks on a private repository. Jev itself fails to answer on roughly one call in thirty, in bursts, costing a few seconds and a hazy reply. On a repository with no CI every pull request comes back unclear, which the README frames as the rule working. The Server URL must be a vercel.app address or localhost unless you rebuild the extension. Copy reviewed against the repository README on 2026-10-04, not from running it.

Questions about this entry

Short answers drawn from the linked project or page.

More Jev resources like this

20GitHub stars
TypeScript SDK and CLI coding agent where Jev only picks options while your code runs effects, building programs as syntax trees.
Jev Agents & MCP#community#awesomejev#catalog-import
22GitHub stars
Runnable agent harness that moves pick, score and yes-no loop choices to Jev or Laya in milliseconds while reserving the language model for writing, compiling DECISION.md into executable questions.
Jev Agents & MCP#community#jevbest#catalog-import
35GitHub stars
Diff-aware test selector that sends the git diff to Jev with one question per test, then prints the native filter flags and hands them to vitest, jest, node, bun, Playwright, cargo, or go test.
Jev Agents & MCP#community#jevbest#catalog-import
13GitHub stars
Pi extension that classifies each task with Jev over OpenRouter and routes it to a Pareto-optimal model balancing measured quality, cost, and latency under a role policy.
Jev Agents & MCP#community#jevbest#catalog-import
15GitHub stars
Node CLI that lints a file tree against fuzzy natural-language rules in one Markdown file, judging each matched file with a swappable TypeSafe-backed judge.
Jev Agents & MCP#community#jevbest#catalog-import
106GitHub stars
Decision layer exposing Jev's typed yes-no, choice, and score answers to DeepSeek Harness and MCP hosts, offline by default with every network transmission disclosed per feature.
Jev Agents & MCP#community#jevbest#catalog-import
Back to all resources

From the Jev community

Posts from builders shipping with Jev right now.

Follow @typesafeai