Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Jaml Ui

БесплатноНе проверен

Zero-dependency json-render engine + Balatro card sprites for MCP Apps.

GitHubEmbed

Описание

Zero-dependency json-render engine + Balatro card sprites for MCP Apps.

README

Zero-dependency JSON-to-React engine (json-render) + Balatro card sprite rendering for MCP Apps.

What's inside

  • json-render — a tiny, zero-dep JSON-to-React engine in src/json-render. A JsonNode tree + a registry = rendered UI. Ships with a Balatro catalog (Panel, Stack, Grid, SeedCard, SearchStats, JamlGameCard, ...).
  • Balatro card sprites — canvas-based JamlGameCard, StandardCard, DeckSprite, plus sprite metadata.
  • MCP App exampleexamples/mcp-seed-finder is a single-file MCP App that talks to an MCP server and renders search results with json-render.

Install

npm install jaml-ui motely-wasm react react-dom

motely-wasm is a peer dependency — boot it once before rendering.

Quick start — render JSON UI

import { render, balatroRegistry } from "jaml-ui";

const spec = {
  type: "Panel",
  props: { title: "Hello" },
  children: [
    { type: "Text", props: { body: "Seed: ALEEB", variant: "title" } },
    { type: "JamlGameCard", props: { type: "joker", card: { name: "Blueprint" } } },
  ],
};

export default function App() {
  return <div>{render(spec, balatroRegistry)}</div>;
}

Boot motely-wasm

motely-wasm ships embedded — the boot resources travel inside the module, so boot() takes no argument.

import bootsharp from "motely-wasm";

if (bootsharp.getStatus() === bootsharp.BootStatus.Standby) await bootsharp.boot();

Boot once per JS realm. Each web worker is its own realm, so a worker fleet boots one engine apiece — see the fleet section in the motely-wasm README for the module-worker and MessagePort rules that keep a worker from hanging.

MCP App example

cd examples/mcp-seed-finder
pnpm install
pnpm dev

Package exports

Entry What's in it
jaml-ui json-render engine, Balatro registry/catalog, card components
jaml-ui/ui Jimbo CSS tokens only
jaml-ui/core Sprite metadata, asset URLs, canvas Layer — no React, no motely-wasm
jaml-ui/motely bootsharp + Motely re-exports, item decoders

Scripts

pnpm build      # Vite library build → dist/
pnpm dev        # vite build --watch
pnpm typecheck  # tsc --noEmit
pnpm lint       # ESLint

License

MIT — see LICENSE. Font files in assets/fonts/ are third-party assets by Daniel Linssen; attribution required when redistributing or displaying the pixel fonts.

from github.com/OptimusPi/jaml-ui

Установить Jaml Ui в Claude Desktop, Claude Code, Cursor

Рекомендуется · одна команда, все IDE
unyly install jaml-ui

Ставит в Claude Desktop, Claude Code, Cursor и VS Code — сам разбирается с npx, uvx и сборкой из исходников.

Впервые? Поставь CLI: curl -fsSL https://unyly.org/install | sh

Или настроить вручную

Выполни в терминале:

claude mcp add jaml-ui -- npx -y jaml-ui

FAQ

Jaml Ui MCP бесплатный?

Да, Jaml Ui MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Jaml Ui?

Нет, Jaml Ui работает без API-ключей и переменных окружения.

Jaml Ui — hosted или self-hosted?

Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.

Как установить Jaml Ui в Claude Desktop, Claude Code или Cursor?

Открой Jaml Ui на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare Jaml Ui with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории design