Repolode
vadimdemedes

vadimdemedes/ink

Renderer React para criar aplicativos de linha de comando interativos com componentes e layouts Flexbox no terminal.

Estrelas
40,136
Forks
1,062
Issues abertas
33
Último commit
há 19 dias

O que é?

Com o Ink, desenvolvedores podem criar interfaces de linha de comando do mesmo jeito que criam interfaces web com React, usando componentes, props e hooks. Cada elemento é organizado como um contêiner Flexbox pelo mecanismo de layout Yoga, então propriedades semelhantes às do CSS, como padding, margin, flexGrow e justifyContent, funcionam no terminal.

O pacote inclui componentes como Text, Box, Newline, Spacer, Static e Transform, além de hooks para entrada do teclado (useInput), ciclo de vida do app (useApp), acesso a stdin/stdout e gerenciamento de foco. Como é um renderer React, todos os recursos padrão do React estão disponíveis, e a documentação aborda apenas a API própria do Ink.

O Ink é usado por várias ferramentas de programação com agentes, CLIs de provedores de nuvem e ferramentas interativas para desenvolvedores, como a saída de progresso do Gatsby e do Tap.

Recursos principais

  • 01Renderiza componentes React na saída do terminal.
  • 02Oferece suporte a layouts Flexbox por meio do Yoga, com propriedades semelhantes às do CSS.
  • 03Permite estilizar Text com recursos como cores, negrito, itálico e truncamento.
  • 04Inclui hooks para entrada do teclado, gerenciamento de foco e tamanho da janela.
  • 05Oferece renderização Static para logs e itens concluídos que permanecem acima da saída ao vivo.

Casos de uso

  • Criar ferramentas CLI interativas com visualizações de progresso que se atualizam ao vivo.
  • Criar dashboards de terminal que respondem à entrada do teclado.
  • Desenvolver executores de testes ou ferramentas de build que exibem o status em tempo real.
  • Desenvolver interfaces de agentes de IA ou chat que funcionam no terminal.

Início rápido

  1. 1

    Instale Ink e React com npm

    npm install ink react
  2. 2

    Crie a estrutura inicial de um novo projeto Ink CLI com create-ink-app

    npx create-ink-app my-ink-cli

Antes de usar

  • O README documenta a próxima versão, não a versão estável mais recente disponível no npm.

Tópicos

Perguntas frequentes

O que é ink?
Renderer React para criar aplicativos de linha de comando interativos com componentes e layouts Flexbox no terminal. Com o Ink, desenvolvedores podem criar interfaces de linha de comando do mesmo jeito que criam interfaces web com React, usando componentes, props e hooks. Cada elemento é organizado como um contêiner Flexbox pelo mecanismo de layout Yoga, então propriedades semelhantes às do CSS, como padding, margin, flexGrow e justifyContent, funcionam no terminal.
ink é gratuito? Qual é a licença?
ink é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
ink ainda é mantido?
Manutenção ativa. O último commit de ink foi em 3 de out. de 2026.
Para que posso usar ink?
Criar ferramentas CLI interativas com visualizações de progresso que se atualizam ao vivo. Criar dashboards de terminal que respondem à entrada do teclado. Desenvolver executores de testes ou ferramentas de build que exibem o status em tempo real. Desenvolver interfaces de agentes de IA ou chat que funcionam no terminal.
Como instalar ink?
Instale Ink e React com npm: npm install ink react Crie a estrutura inicial de um novo projeto Ink CLI com create-ink-app: npx create-ink-app my-ink-cli
Onde consigo ink?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/vadimdemedes/ink

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados