Turns JSON specifications into live terminal UIs using React Ink under the hood. You get a catalog of standard components (Box, Text, Select, Table, Spinner, etc.) that you define in JSON with data binding, visibility conditions, and event handlers. Built for rendering AI-generated terminal interfaces, so it includes streaming support via useUIStream and server-side prompt generation from your component catalog. The architecture is clean: flat element maps, JSON Pointer state paths, and two-way binding through $bindState expressions instead of component props. Useful when you want LLMs to generate interactive CLIs without writing React components directly.

skills.sh installs
169
GitHub stars
28.8K
last updated
Aug 21, 2026

Install

$ npx -y skills add google-labs-code/design.md --skill ink --agent claude-code

Installs 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/google-labs-code/design.md
Categories
Frontend Development, AI & Agent Building, Design & UI/UX, CLI & Terminal
First seen
Jun 3, 2026

More from google-labs-code/design.md

All 4
1rohitg00 avatarwiki-viewerrohitg00/pro-workflowRender a self-contained HTML viewer for a pro-workflow wiki. Pages, sources, claims, seed queue, page-link graph and full-text search all in one file. No extern153skills.sh installs
2raphaelsalaja avatarpseudo-elementsraphaelsalaja/userinterface-wikiAudit CSS for pseudo-element best practices and View Transitions API usage. Use when reviewing hover effects, decorative layers, or page transitions. Outputs fi139skills.sh installs
3thebushidocollective avatarreactflow-fundamentalsthebushidocollective/hanUse when building node-based UIs, flow diagrams, workflow editors, or interactive graphs with React Flow. Covers setup, nodes, edges, controls, and interactivit138skills.sh installs
4charleswiltgen avataraxiom-realitykit-refcharleswiltgen/axiomRealityKit API reference — Entity, Component, System, RealityView, Model3D, anchor types, material system, physics, collision, animation, audio, accessibility136skills.sh installs
5davila7 avatardesign-to-codedavila7/claude-code-templatesPixel-perfect Figma to React conversion using coderio. Generates production-ready code (TypeScript, Vite, TailwindCSS V4) with high visual fidelity. Features ro135skills.sh installs
6nexu-io avatarkami-decknexu-io/open-designProduce a print-grade slide deck in the kami (紙 / 纸) design system — warm parchment background (or ink-blue for cover / chapter slides), serif at one weight, in133skills.sh installs