Кроссплатформенный эмулятор терминала на веб-технологиях с поддержкой плагинов и тем оформления.
vadimdemedes/ink
React-рендерер для создания интерактивных CLI-приложений с компонентами и Flexbox-макетами в терминале.
- Звёзды
- 40,136
- Форки
- 1,062
- Открытые issues
- 33
- Последний коммит
- 19 дней назад
Что это?
Ink позволяет создавать интерфейсы командной строки так же, как веб-интерфейсы на React: с помощью компонентов, props и хуков. Каждый элемент размещается как Flexbox-контейнер с использованием движка компоновки Yoga, поэтому в терминале работают знакомые свойства в стиле CSS, такие как padding, margin, flexGrow и justifyContent.
Пакет включает встроенные компоненты Text, Box, Newline, Spacer, Static и Transform, а также хуки для обработки ввода с клавиатуры (useInput), управления жизненным циклом приложения (useApp), доступа к stdin/stdout и управления фокусом. Поскольку Ink — это React-рендерер, доступны все стандартные возможности React, а документация описывает только собственный API Ink.
Ink используют несколько инструментов для агентной разработки, CLI облачных провайдеров и интерактивные инструменты для разработчиков, например для вывода прогресса в Gatsby и Tap.
Ключевые возможности
- 01Рендерит React-компоненты в вывод терминала.
- 02Поддерживает Flexbox-компоновку с помощью Yoga и свойств в стиле CSS.
- 03Позволяет оформлять Text: задавать цвета, полужирное и курсивное начертание, а также обрезать текст.
- 04Включает хуки для обработки ввода с клавиатуры, управления фокусом и получения размеров окна.
- 05Предоставляет Static для вывода логов и завершённых элементов, которые остаются над текущим выводом.
Сценарии использования
- Создание интерактивных CLI-инструментов с динамически обновляемым отображением прогресса.
- Создание терминальных дашбордов, реагирующих на ввод с клавиатуры.
- Разработка тестовых раннеров или инструментов сборки с отображением статуса по мере выполнения.
- Разработка интерфейсов AI-агентов или чатов, работающих в терминале.
Быстрый старт
- 1
Установите Ink и React с помощью npm
npm install ink react - 2
Создайте заготовку нового проекта Ink CLI с помощью create-ink-app
npx create-ink-app my-ink-cli
Что важно знать
- В README описана будущая версия, а не последняя стабильная версия, доступная в npm.
Темы
Частые вопросы
- Что такое ink?
- React-рендерер для создания интерактивных CLI-приложений с компонентами и Flexbox-макетами в терминале. Ink позволяет создавать интерфейсы командной строки так же, как веб-интерфейсы на React: с помощью компонентов, props и хуков. Каждый элемент размещается как Flexbox-контейнер с использованием движка компоновки Yoga, поэтому в терминале работают знакомые свойства в стиле CSS, такие как padding, margin, flexGrow и justifyContent.
- ink можно использовать бесплатно? Какая у него лицензия?
- ink распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- ink всё ещё поддерживается?
- Активно поддерживается. Последний коммит в ink — 3 окт. 2026 г..
- Для чего можно использовать ink?
- Создание интерактивных CLI-инструментов с динамически обновляемым отображением прогресса. Создание терминальных дашбордов, реагирующих на ввод с клавиатуры. Разработка тестовых раннеров или инструментов сборки с отображением статуса по мере выполнения. Разработка интерфейсов AI-агентов или чатов, работающих в терминале.
- Как установить ink?
- Установите Ink и React с помощью npm: npm install ink react Создайте заготовку нового проекта Ink CLI с помощью create-ink-app: npx create-ink-app my-ink-cli
- Где скачать ink?
- Исходный код и инструкции по установке — на GitHub: https://github.com/vadimdemedes/ink
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Библиотека для создания терминальных интерфейсов на Zig с биндингами для TypeScript, React и Solid.
Rust-крейт для создания терминальных интерфейсов (TUI) с переиспользуемыми виджетами и простой моделью отрисовки.
Терминальный просмотрщик и обработчик JSON для интерактивной навигации, сворачивания и преобразования данных в shell.
Компактный и быстрый файловый менеджер для терминала на C: просмотр файлов, пакетное переименование, анализ дискового пространства и запуск приложений.
Кроссплатформенный настраиваемый графический монитор процессов и системных ресурсов в терминале для Linux, macOS и Windows.