Skip to content

jev-playground

MoonBit and TypeScript Jev playground: gomoku, shell-command risk gate, ESLint plugin, a tiny Jev-condition language and measured reports.

Appresearch

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

TypeQuestionAnswers
ChoiceWhich candidate move should be played on this gomoku board?—
ScoreHow risky is this shell command?—
ScoreHow does this function score on the named review criterion?—

How it works

  1. Install the MoonBit toolchain and set the API key
  2. Run CLIs for single questions, games or pattern measurements
  3. Use the PreToolUse hook to gate Claude Code Bash commands
  4. 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 -- --pretty

At 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

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.

    ProjectbetaTypeScript
  • Advisory Jev sidecar for Pi: four pre-flight hazard checks before bash/write/edit and four diff-quality checks after edits.

    PluginbetaTypeScript
  • Unity Behavior action node that gets finite-outcome Jev decisions through an authenticated Node gateway with revision checks.

    ServiceprototypeC#, JavaScript
  • Repository describing a Roblox Studio instance reviewer using typed Jev criteria with citations; README is mostly marketing.

    Project
  • Independent field guide to Jev 1.13.0 behaviour across 11,621 requests: framing sensitivity, Snake and 3D city driving experiments.

    ProjectresearchPython, TypeScript
  • Reliability-curve study of Jev on 240 hand-labelled agent tool calls, publishing labels, raw responses and scripts.

    ProjectresearchPython