jev-playground
MoonBit and TypeScript Jev playground: gomoku, shell-command risk gate, ESLint plugin, a tiny Jev-condition language and measured reports.
Overview
jev-playground by mizchi is a Japanese-language playground for using Jev from MoonBit, with TypeScript experiments alongside. It includes a MoonBit API client and CLI, a gomoku CLI where Jev plays Jev with each move chosen from candidate moves (plus a tool that renders real-time GIFs with measured latencies), a CLI that runs TypeSafe's documented decision patterns against the real API to measure their effect, and a shell-command risk judge used as a Claude Code PreToolUse hook to gate Bash execution.
TypeScript experiments cover chess, browser exploration with a speculative single-request action driver, agent prompts and predicting ESLint pass or fail, plus eslint-plugin-jev, where Jev scores functions and supports ad-hoc rules written as a selector plus one sentence. jevdsl and jevlang (in MoonBit and JS, tested for matching results) make Jev decisions into matchable values and conditions in a tiny language. Docs summarise when to use Jev, what fits, tuning advice and 13 case studies. MOBA experiments moved to a separate repository.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Which candidate move should be played on this gomoku board? | — |
| Score | How risky is this shell command? | — |
| Score | How does this function score on the named review criterion? | — |
How it works
- Install the MoonBit toolchain and set the API key
- Run CLIs for single questions, games or pattern measurements
- Use the PreToolUse hook to gate Claude Code Bash commands
- Read the measured reports in docs/
Strengths
- Broad set of experiments with measured reports
- Practical guidance on when Jev fits
- Two matching implementations of a Jev-condition language
Caveats
- Documentation in Japanese
- Requires MoonBit toolchain and early-access key
- Experimental code
Getting started
export TYPESAFEAI_API_KEY=..., moon update, then moon run --target native cmd/jev -- --prettyAt a glance
- Type
- App
- Status
- research
- Language
- MoonBit
- Runtime
- Native CLIs plus TypeScript experiments
- Has code
- yes
- Has tests
- yes
Use cases and integrations
How curated lists describe it
A MoonBit and TypeScript Jev playground covering games, browsers, command risk and small languages.
logicrw/awesome-jev-projects
Frequently asked questions
What is jevlang?
A tiny language where conditions are Jev decisions, implemented in MoonBit and JavaScript.
Can it gate Claude Code commands?
Yes. A PreToolUse hook judges Bash command risk.
Where are the results?
In docs/, including when-to-use, fit, tuning and case-study reports.
Related projects
Claude Code plugin that moves CLAUDE.md rules into hooks, denying rule-breaking edits and unasked deploys via Jev probabilities.
ProjectbetaTypeScriptAdvisory Jev sidecar for Pi: four pre-flight hazard checks before bash/write/edit and four diff-quality checks after edits.
PluginbetaTypeScriptUnity Behavior action node that gets finite-outcome Jev decisions through an authenticated Node gateway with revision checks.
ServiceprototypeC#, JavaScriptRepository describing a Roblox Studio instance reviewer using typed Jev criteria with citations; README is mostly marketing.
ProjectIndependent field guide to Jev 1.13.0 behaviour across 11,621 requests: framing sensitivity, Snake and 3D city driving experiments.
ProjectresearchPython, TypeScriptReliability-curve study of Jev on 240 hand-labelled agent tool calls, publishing labels, raw responses and scripts.
ProjectresearchPython