Repolode
vadimdemedes

vadimdemedes/ink

Un renderizador de React para crear aplicaciones interactivas de línea de comandos con componentes y diseños Flexbox en la terminal.

Estrellas
40,136
Forks
1,062
Issues abiertos
33
Último commit
hace 19 días

¿Qué es?

Ink permite crear interfaces de línea de comandos del mismo modo que se crean interfaces web con React: mediante componentes, props y hooks. Cada elemento se distribuye como un contenedor Flexbox con el motor de diseño Yoga, por lo que funcionan en la terminal propiedades similares a las de CSS, como padding, margin, flexGrow y justifyContent.

El paquete incluye componentes como Text, Box, Newline, Spacer, Static y Transform, además de hooks para la entrada del teclado (useInput), el ciclo de vida de la aplicación (useApp), el acceso a stdin/stdout y la gestión del foco. Como Ink es un renderizador de React, están disponibles todas las funciones estándar de React, y la documentación solo cubre la API propia de Ink.

Ink se usa en varias herramientas de programación con agentes, CLI de proveedores de servicios en la nube y herramientas interactivas para desarrolladores, como la salida de progreso de Gatsby y Tap.

Funciones clave

  • 01Renderiza componentes de React en la terminal.
  • 02Admite diseños Flexbox mediante Yoga, con propiedades similares a las de CSS.
  • 03Permite aplicar estilos al texto, como colores, negrita, cursiva y truncamiento.
  • 04Incluye hooks para la entrada del teclado, la gestión del foco y el tamaño de la ventana.
  • 05Ofrece renderizado Static para registros y elementos completados que permanecen por encima de la salida en vivo.

Casos de uso

  • Crear herramientas CLI interactivas con vistas de progreso que se actualizan en tiempo real.
  • Crear paneles para la terminal que responden a la entrada del teclado.
  • Escribir ejecutores de pruebas o herramientas de compilación que muestran el estado a medida que se actualiza.
  • Desarrollar interfaces para agentes de IA o chats que se ejecutan en la terminal.

Inicio rápido

  1. 1

    Instala Ink y React con npm

    npm install ink react
  2. 2

    Crea la estructura inicial de un nuevo proyecto de Ink CLI con create-ink-app

    npx create-ink-app my-ink-cli

Antes de usarlo

  • El README documenta la próxima versión, no la última versión estable disponible en npm.

Temas

Preguntas frecuentes

¿Qué es ink?
Un renderizador de React para crear aplicaciones interactivas de línea de comandos con componentes y diseños Flexbox en la terminal. Ink permite crear interfaces de línea de comandos del mismo modo que se crean interfaces web con React: mediante componentes, props y hooks. Cada elemento se distribuye como un contenedor Flexbox con el motor de diseño Yoga, por lo que funcionan en la terminal propiedades similares a las de CSS, como padding, margin, flexGrow y justifyContent.
¿ink es gratuito? ¿Qué licencia tiene?
ink es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿ink sigue mantenido?
Mantenimiento activo. El último commit de ink fue el 3 oct 2026.
¿Para qué puedo usar ink?
Crear herramientas CLI interactivas con vistas de progreso que se actualizan en tiempo real. Crear paneles para la terminal que responden a la entrada del teclado. Escribir ejecutores de pruebas o herramientas de compilación que muestran el estado a medida que se actualiza. Desarrollar interfaces para agentes de IA o chats que se ejecutan en la terminal.
¿Cómo se instala ink?
Instala Ink y React con npm: npm install ink react Crea la estructura inicial de un nuevo proyecto de Ink CLI con create-ink-app: npx create-ink-app my-ink-cli
¿Dónde consigo ink?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/vadimdemedes/ink

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados