Susa CLI¶
Sistema modular de CLI em Shell Script para automação de tarefas e gerenciamento de software.
✨ Características¶
- 🔍 Discovery Automático - Comandos descobertos da estrutura de diretórios
- 📦 Sistema de Plugins - Extensão via repositórios Git externos
- 🎯 Subcategorias Multi-nível - Navegação hierárquica ilimitada
- 🌍 Variáveis de Ambiente - Configurações isoladas por comando com expansão automática
- 🖥️ Multi-plataforma - Suporte para Linux (Debian, Fedora) e macOS
- 🎨 Interface Rica - Logs coloridos, agrupamento visual, help customizado
- ⚙️ Parser JSON Robusto - jq com instalação automática
- 🔐 Gestão de Permissões - Indicadores e verificação de sudo
- 🌐 Instalação Remota - Instale com um único comando curl
🚀 Instalação¶
Linux and macOS¶
Use este comando com curl para baixar o script e executá-lo:
Para instruções completas de instalação, desinstalação e verificação, veja o Guia de Início Rápido.
📖 Uso Básico¶
# Listar categorias
susa
# Executar comando
susa setup asdf
# Gerenciar plugins
susa self plugin add user/repo
susa self plugin list
# Autocompletar
susa self completion bash --install
Para exemplos detalhados e tutoriais práticos, veja o Guia de Início Rápido.
📖 Estrutura do Projeto¶
cli/
├── core/ # Core do CLI
│ ├── susa # Entrypoint principal
│ ├── cli.json # Configuração global
│ └── lib/ # Bibliotecas
│ ├── config.sh # Parser JSON (com jq)
│ ├── git.sh # Operações Git
│ ├── plugin.sh # Sistema de plugins
│ ├── registry.sh # Registro de plugins
│ ├── dependencies.sh # Gerenciamento de dependências
│ └── ...
│
├── install.sh # Instalador
├── uninstall.sh # Desinstalador
│
├── commands/ # Comandos built-in
│ ├── install/ # Instalação de software
│ └── self/ # Gerenciamento do CLI
│ ├── plugin/ # Comandos de plugin
│ └── version/ # Versão do CLI
│
├── plugins/ # Plugins externos
│ └── registry.json # Registro de plugins
│
├── config/ # Configurações de usuário
│ └── settings.conf
│
└── docs/ # Documentação
📚 Documentação¶
- Início Rápido - Instalação e primeiros passos
- Configuração - Configurações globais e variáveis de ambiente
- Variáveis de Ambiente - Guia completo de variáveis por comando
- Subcategorias - Sistema de navegação multinível
- Adicionando Comandos - Como criar novos comandos
- Sistema de Plugins - Estendendo o Susa CLI
- Funcionalidades - Guia completo de features
🔧 Desenvolvimento¶
Criar um Comando¶
Comandos são descobertos automaticamente da estrutura de diretórios:
Veja o Guia de Adição de Comandos para instruções completas.
🔌 Plugins¶
Instale plugins externos para adicionar funcionalidades:
# Instalar plugin
susa self plugin add https://github.com/user/susa-plugin-name
# Listar plugins
susa self plugin list
# Atualizar plugin
susa self plugin update plugin-name
# Remover plugin
susa self plugin remove plugin-name
🤝 Contribuindo¶
Contribuições são bem-vindas! Veja o guia de contribuição.
📄 Licença¶
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.