nlbash
v1.0.0
Published
Natural Language Shell - Execute comandos em linguagem natural usando IA
Readme
Um utilitário de linha de comando que permite executar comandos do shell usando linguagem natural, powered by OpenAI GPT.
✨ Funcionalidades
- 🗣️ Linguagem Natural: Descreva o que quer fazer em português ou inglês
- 🤖 IA Powered: Usa GPT-4o-mini para converter descrições em comandos precisos
- ⚡ Execução Segura: Mostra os comandos antes de executar e pede confirmação
- 📚 Histórico: Mantém histórico de prompts e comandos executados
- 🔄 Autocomplete: Suporte a autocomplete no Zsh para prompts anteriores
- 🏷️ Aliases: Permite salvar comandos como aliases permanentes
🚀 Instalação
Instalação Global (Recomendado)
# Clone o repositório
git clone https://github.com/jeancarlopolidoro/nlbash.git
cd nlbash
# Instale globalmente
npm install -g .Instalação Local
# Instale as dependências
npm install
# Execute localmente
npm start "liste todos os arquivos no diretório atual"🔧 Configuração
1. Chave da OpenAI
Defina sua chave da API OpenAI:
export OPENAI_API_KEY="sua-chave-aqui"2. Zsh (Recomendado)
O script funciona melhor com Zsh. Para instalar:
# Ubuntu/Debian
sudo apt install zsh
# macOS
brew install zsh
# Defina como shell padrão
chsh -s $(which zsh)📖 Uso
Sintaxe Básica
nlbash "descrição do que você quer fazer"Exemplos
# Listar arquivos
nlbash "liste todos os arquivos no diretório atual ordenados por data"
# Git operations
nlbash "faça commit de todas as mudanças com a mensagem 'update README'"
# Sistema
nlbash "mostre o uso de disco das partições"
# Rede
nlbash "teste a conectividade com google.com"
# Desenvolvimento
nlbash "instale as dependências do projeto Node.js"
# Docker
nlbash "liste containers Docker em execução"
nlbash "mostre logs do container web-server"Pipeline de Gerenciamento de Servidor
Para administração completa de servidores, consulte:
- Pipeline Completo: Script abrangente para monitoramento de servidor
- Exemplos de Comandos: Lista detalhada de comandos organizados por categoria
# Exemplo: Verificação completa do servidor
nlbash "execute verificação completa de status do servidor"
# Exemplo: Monitoramento de recursos
nlbash "verifique uso de CPU, memória e disco"
# Exemplo: Segurança
nlbash "mostre tentativas de login falhadas recentes"Comandos Especiais
Durante a execução, você tem opções:
y: Executar os comandos sugeridosn: Cancelar (padrão)a: Salvar como alias permanente
🏗️ Como Funciona
- Análise: Seu prompt em linguagem natural é enviado para a OpenAI
- Geração: A IA gera comandos shell apropriados com explicações
- Confirmação: Os comandos são exibidos com explicações passo-a-passo
- Execução: Após confirmação, os comandos são executados com timer visual
- Histórico: Tudo é salvo em
~/.prompt_history.log
📁 Estrutura do Projeto
nlbash/
├── nlbash.js # Wrapper Node.js para execução global
├── prompt # Script principal em Zsh
├── package.json # Configuração npm
└── README.md # Esta documentação🔍 Logs e Histórico
Os logs são salvos em:
~/.prompt_history.log: Histórico completo de execuções~/.prompt_history.prompts: Lista de prompts para autocomplete
🤝 Contribuição
- Fork o projeto
- Crie uma branch para sua feature (
git checkout -b feature/AmazingFeature) - Commit suas mudanças (
git commit -m ':sparkles: Add some AmazingFeature') - Push para a branch (
git push origin feature/AmazingFeature) - Abra um Pull Request
📄 Licença
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para detalhes.
⚠️ Avisos
- Sempre revise os comandos antes de executar
- Use por sua própria conta e risco
- Consumo de API da OpenAI pode gerar custos
🐛 Problemas Comuns
"zsh: command not found: nlbash"
- Certifique-se de ter instalado globalmente:
npm install -g . - Verifique se o npm global está no PATH
"OPENAI_API_KEY not set"
- Configure sua chave:
export OPENAI_API_KEY="sua-chave"
Comandos não funcionam
- Verifique se está usando Zsh como shell
- Alguns comandos podem precisar de permissões sudo
📞 Suporte
Para suporte, abra uma issue no GitHub ou entre em contato com o mantenedor.
Feito com ❤️ e IA 🤖
