cli-facil
v1.0.0
Published
Uma biblioteca Node.js simples e intuitiva para a criação rápida de interfaces de linha de comando (CLI). Desenvolvida para abstrair as complexidades de menus interativos, mensagens coloridas e execução de comandos de terminal, oferecendo uma **API bilíng
Readme
cli-facil 🚀
Uma biblioteca Node.js simples e intuitiva para a criação rápida de interfaces de linha de comando (CLI). Desenvolvida para abstrair as complexidades de menus interativos, mensagens coloridas e execução de comandos de terminal, oferecendo uma API bilíngue (Português e Inglês).
✨ Recursos
- 🇧🇷🇺🇸 API Bilíngue: Escreva seu código usando métodos em Português ou Inglês.
- 🎨 Mensagens Estilizadas: Feedback visual imediato com cores nativas (info, success, error, warning).
- 🖱️ Menus Interativos: Crie menus de seleção e perguntas de confirmação sem dor de cabeça.
- ⚙️ Execução de Comandos: Execute comandos shell de forma transparente e capture seus resultados.
- 📦 Pronto para ESM: Construído utilizando ES Modules nativos.
📦 Instalação
Instale o pacote diretamente no seu projeto via NPM:
npm install cli-facil🚀 Como usar
A biblioteca foi construída pensando na simplicidade. Basta importar os métodos que você precisa e usá-los no seu código (tudo funciona através de Promises/async-await).
Exemplo Básico
import { exibirMensagem, pedirTexto, pedirEscolha } from 'cli-facil';
// Você também pode importar a versão em inglês:
// import { showMessage, askInput, askSelect } from 'cli-facil';
async function iniciar() {
exibirMensagem('Bem-vindo ao CLI!', 'info');
const nome = await pedirTexto('Qual o nome do seu projeto?');
const template = await pedirEscolha('Escolha um template:', [
'React',
'Vue',
'Vanilla JS'
]);
exibirMensagem(`Projeto ${nome} criado com o template ${template}!`, 'success');
}
iniciar();📖 Referência da API
Todas as funções são exportadas em pares. Escolha a que melhor se adapta ao padrão do seu time.
Exibição de Mensagens
exibirMensagem(texto, tipo)/showMessage(text, type)Exibe uma mensagem formatada. Tipos suportados:'info'(padrão),'success','error','warning'.
Entradas de Texto
pedirTexto(mensagem)/askInput(message)Pausa a execução aguardando que o usuário digite algo no terminal. Retorna umaPromise<string>.
Menus de Seleção
pedirEscolha(mensagem, opcoes)/askSelect(message, choices)Gera um menu de múltipla escolha interativo controlável através das setas do teclado. O parâmetro de opções aceita um array destrings ou de objetos{ name, value }. Retorna umaPromise<any>.
Confirmações Booleans
pedirConfirmacao(mensagem)/askConfirm(message)Cria um prompt simples de (Y/n). Retorna umaPromise<boolean>.
Execução de Scripts e Comandos
executarTerminal(comando)/terminalExec(command)Dispara a execução de um comando shell (bash, cmd) e aguarda seu término de forma invisível. Ideal para encadear scripts. Retorna umaPromise<string>com o output do comando.
📄 Licença
MIT ©
