Ink — декларативный UI для терминала в JSON
★ 8.1 · vibe-coding
Поддержка библиотеки Ink для CLI — это скилл для Claude Code, который превращает JSON-спецификации в интерактивные терминальные интерфейсы через рендерер @json-render/ink на базе библиотеки Ink. Берут, когда нужно быстро собрать CLI-дашборд или форму прямо в терминале, когда хочется описать терминальный UI декларативно в JSON вместо ручного кодирования React-компонентов для Ink, или когда ИИ генерирует JSON-спецификацию интерфейса и её нужно сразу отрисовать. Внутри — плоская карта элементов с корневым ключом: лейауты Box с flexbox, текст, заголовки, таблицы, графики (BarChart, Sparkline, ProgressBar), интерактивные компоненты (TextInput, Select, MultiSelect, ConfirmInput, Tabs), условная видимость, динамические пропсы через $state/$bindState/$cond/$template, система событий и действий (setState, pushState, removeState), повторяемые списки из массивов состояния. Стек — TypeScript, Ink (React для терминала), Zod для схем; разворачивается как npm-пакет @json-render/ink, встраивается в существующее Ink-приложение. Направление — рендеринг JSON в терминальный UI, а не генерация JSON и не веб-рендеринг (для браузерного json-render — отдельные адаптеры). Подойдёт командам, которые строят AI-driven CLI-инструменты или терминальные приложения с декларативным UI; не подходит, когда нужен графический или веб-интерфейс.
- #json-render
- #terminal-ui
- #ink
- #cli
- #interactive
- #terminal-components
- #text-ui