Ink — декларативный UI для терминала в JSON

★ 8.1 · vibe-coding

Ink Library Support for CLI is a Claude Code skill that turns JSON specs into interactive terminal UIs using the @json-render/ink renderer built on top of the Ink library. Reach for it when you want to spin up a CLI dashboard or input form without hand-writing Ink components, when you need to describe a terminal interface declaratively in JSON, or when an AI generates a UI spec and you want to render it straight in the terminal. Under the hood it uses a flat element map with a root key: Box flexbox layouts, Text, Heading, Table, BarChart, Sparkline, ProgressBar, and interactive components — TextInput, Select, MultiSelect, ConfirmInput, Tabs. Visibility conditions, dynamic props via $state/$bindState/$cond/$template expressions, a built-in event/action system (setState, pushState, removeState), and repeat blocks for state-driven lists round out the feature set. The stack is TypeScript, Ink (React for terminals), and Zod for schema validation; it ships as the npm package @json-render/ink and plugs into an existing Ink app. This skill renders JSON into terminal UI — not the other way around, and not into a browser (web adapters are separate). It fits teams building AI-driven CLI tools or terminal apps with declarative interfaces; not the right choice when you need a graphical or web-based UI.