
Ink
Turns JSON specs into interactive terminal UIs using Ink's React renderer. You define components in a flat element map with a root key, bind data with expressions like "$bindState" and "$state", and wire up events to actions. Ships with a solid standard library (boxes, inputs, selects, tables, markdown) plus streaming support for progressive rendering from JSONL patches. The catalog-driven approach means you can generate AI system prompts directly from your component definitions, which is handy if you're building tools that let LLMs construct terminal interfaces. Works standalone or with external state stores for tighter integration.
- skills.sh installs
- 1.3K
- GitHub stars
- 19.5K
- last updated
- Aug 21, 2026
Install
$ npx -y skills add vercel-labs/json-render --skill ink --agent claude-codeInstalls into .claude/skills of the current project.
Files
@json-render/ink
Ink terminal renderer that converts JSON specs into interactive terminal component trees with standard components, data binding, visibility, actions, and dynamic props.
Quick Start
import { defineCatalog } from "@json-render/core";
import { schema } from "@json-render/ink/schema";
import {
standardComponentDefinitions,
standardActionDefinitions,
} from "@json-render/ink/catalog";
import { defineRegistry, Renderer, type Components } from "@json-render/ink";
import { z } from "zod";
// Create catalog with standard + custom components
const catalog = defineCatalog(schema, {
components: {
...standardComponentDefinitions,
CustomWidget: {
props: z.object({ title: z.string() }),
slots: [],
description: "Custom widget",
},
},
actions: standardActionDefinitions,
});
// Register only custom components (standard ones are built-in)
const { registry } = defineRegistry(catalog, {
components: {
CustomWidget: ({ props }) => <Text>{props.title}</Text>,
} as Components<typeof catalog>,
});
Sponsors
Details
- Repository
- github.com/vercel-labs/json-render
- Categories
- Frontend Development, AI & Agent Building, Cloud & Infrastructure, CLI & Terminal
- First seen
- May 16, 2026
More from vercel-labs/json-render
All 31- Svelte1.2K
- Shadcn Svelte1.2K
- Redux1.1K
- Jotai1.1K
- Xstate1.1K
- Solid1.1K
- Yaml1.1K
- Json Render React391
- Json Render Core340
- Json Render Shadcn213
- Json Render Remotion153
- Json Render React Native142
- React18.5K
- Core17.2K
- Codegen8.9K
- Next8.6K
- Devtools8.4K
- Directives8.1K
- Mcp5.9K
- React Native3.3K
- Shadcn2.5K
- React Three Fiber2.4K
- React Pdf2.4K
- Zustand1.9K