Contribuindo¶
Obrigado pelo interesse em contribuir para o projeto CLI! 🎉
🤝 Como Contribuir¶
Reportar Bugs¶
Encontrou um bug? Abra uma issue com:
- Descrição clara do problema
- Passos para reproduzir
- Comportamento esperado vs atual
- Versão do CLI (
cli --version) - Sistema operacional
Sugerir Melhorias¶
Tem uma ideia? Compartilhe abrindo uma issue com:
- Descrição da funcionalidade
- Caso de uso
- Exemplos de como seria usado
Pull Requests¶
- Fork o repositório
- Clone seu fork
- Crie um branch:
git checkout -b feature/minha-feature - Implemente suas mudanças
- Teste suas alterações
- Commit:
git commit -m "feat: adiciona nova funcionalidade" - Push:
git push origin feature/minha-feature - Abra um Pull Request
📝 Padrões de Código¶
Shell Script¶
- Use
#!/bin/bashem todos os scripts - Ative modo strict:
set -euo pipefail - Use 4 espaços para indentação
- Nomeie variáveis em
snake_case - Nomeie funções em
snake_case - Adicione comentários explicativos
Commits¶
Siga o padrão Conventional Commits:
feat:- Nova funcionalidadefix:- Correção de bugdocs:- Mudanças na documentaçãorefactor:- Refatoração de códigotest:- Adição/modificação de testeschore:- Tarefas de manutenção
Exemplos:
feat: adiciona comando de backup automático
fix: corrige detecção de SO em macOS
docs: atualiza guia de instalação
refactor: simplifica parsing JSON com jq
🧪 Testes¶
Antes de submeter PR:
# Teste o comando principal
./susa --help
# Teste comandos específicos
./susa self version
./susa self plugin list
# Teste em subcategorias
./susa setup
📚 Documentação¶
- Atualize
docs/se adicionar funcionalidades - Adicione exemplos de uso
- Atualize o CHANGELOG se relevante
- Mantenha README.md sincronizado
🔄 Processo de Review¶
- Maintainer revisa o PR
- Feedback e discussão
- Ajustes se necessários
- Aprovação e merge
- Atualização do changelog
📦 Criando Plugins¶
Para contribuir com plugins:
- Crie um repositório separado
- Siga a estrutura de plugins
- Documente bem o plugin
- Submeta para a lista de plugins da comunidade
💬 Dúvidas?¶
- Abra uma Discussion
- Pergunte nas issues existentes
- Consulte a documentação completa
🎯 Áreas para Contribuir¶
- 🐛 Correção de bugs
- 📝 Melhorias na documentação
- ✨ Novas funcionalidades
- 🧪 Adicionar testes
- 🎨 Melhorias na UI/UX
- 🔌 Criar plugins
- 🌍 Traduções
Obrigado por contribuir! 🚀