Skip to content

Jev Royal

Autonomous Clash Royale agent on macOS through the native iPhone Mirroring app, with local deterministic pixel perception and Jev choosing between candidate plays that code has already scored.

Stars
3
Language
TypeScript
Published by
Community
Author
Amrit-Nigam
Last verified
Oct 2026

About this project

An autonomous agent that plays Clash Royale on macOS through the native iPhone Mirroring app. Perception is entirely local and deterministic; TypeSafe's Jev ("System One") model is used to arbitrate between tactical options that have already been validated in code. Locate & capture — finds the iPhone Mirroring window via CGWindowListCopyWindowInfo and grabs silent, shadow-free frames with screencapture -x -o -l .

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

Highlights

  • Cards recognised by normalized cross-correlation against official art for all 120 cards; elixir read as a fraction, not OCR.
  • Cloud vision was measured and rejected: a CLI vision call took 22.5 s per frame and hallucinated the hand; matching takes about 10 ms.
  • Urgent situations are played straight from local tactics; Jev only arbitrates between candidates already scored in code.
  • TYPESAFE_API_KEY is optional, and without it the agent runs on local tactics alone and stays playable.

Watch out

The agent cannot identify which card the enemy played, because Clash Royale draws only a coloured health bar, so there is no counter-picking, no ground-versus-air distinction and no opponent cycle tracking. It reacts to pressure, not matchups. OCR state is sampled on a schedule, velocity tracking is nearest-neighbour, and only iPhone Mirroring is supported. 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

98GitHub stars
Self-hosted Docker service and web UI that packages Laya structured-decision inference behind a compatible System One endpoint.
Jev Demos & Experiments#community#jevbest#catalog-import
38GitHub stars
Standalone CLI skill that drives isolated Playwright Chromium with Jev choosing scoped in-page actions, defaulting to Vercel AI Gateway with TypeSafe as an option.
Jev Demos & Experiments#community#jevbest#catalog-import
41GitHub stars
Browser-focused TypeScript library for typed decisions that runs open model reproductions on-device via Transformers.js, returning one calibrated distribution per question.
Jev Demos & Experiments#community#jevbest#catalog-import
34GitHub stars
Interactive playground that teaches Jev by running real typed noul, choice, and score questions and showing the resulting probabilities.
Jev Demos & Experiments#community#jevbest#catalog-import
47GitHub stars
Zero-dependency Node 22 adapter that puts typed Jev decisions beside any LLM, with swappable backends, confidence gates, MCP tools, an ACP sidecar, and offline-ready recipes.
Jev Demos & Experiments#community#jevbest#catalog-import
22GitHub stars
Local browser-agent extension where FX plans tasks and Jev picks constrained actions from observed elements, with model calls routed through Vercel AI Gateway.
Jev Demos & Experiments#community#jevbest#catalog-import

From the Jev guides

Original write-ups on what this entry is for.

A game tick is a state plus a legal action list. How Clash Royale, Minecraft, and the earlier Mario, Pokémon, StarCraft, and drone loops ask Jev one step at a time.
Jev Demos & Experiments#gaming#agents#control
Read article
Back to all resources

From the Jev community

Posts from builders shipping with Jev right now.

Follow @typesafeai