Repolode
vadimdemedes

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. 1

    Установите Ink и React с помощью npm

    npm install ink react
  2. 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 обновляется ежедневно.

Похожие проекты