Contribuindo com o TruchiEmu

Obrigado pelo seu interesse em contribuir com o TruchiEmu! Seja corrigindo bugs, adicionando recursos, melhorando a documentação ou ajudando com testes, suas contribuições são bem-vindas.

Formas de Contribuir

Contribuições de Código

  • Correções de bugs: Verifique as GitHub Issues para bugs abertos
  • Novos recursos: Proponha recursos via GitHub Discussions primeiro
  • Melhorias de desempenho: Otimize a integração de cores de emulação ou a interface
  • Desenvolvimento de shaders: Crie shaders Metal personalizados

Contribuições Não-Código

  • Documentação: Melhore guias, adicione exemplos, corrija erros de digitação
  • Testes: Teste jogos em diferentes sistemas e relate compatibilidade
  • Relatórios de bugs: Registre issues detalhados com passos de reprodução
  • Suporte à comunidade: Ajude outros usuários nas Discussions e issues

Primeiros Passos

  1. Faça fork do repositório TruchiEmu
  2. Clone seu fork: git clone https://github.com/YOUR_USERNAME/truchiemu.git
  3. Crie uma branch de feature: git checkout -b feature/sua-feature-name
  4. Faça suas mudanças seguindo o estilo de código do projeto
  5. Compile e teste suas mudanças localmente
  6. Envie um pull request

Diretrizes de Contribuição

Estilo de Código

  • Siga os padrões de código existentes e convenções de nomenclatura
  • Use as melhores práticas do SwiftUI para mudanças na interface
  • Mantenha o bridging ObjC++ ao mínimo prefira Swift quando possível
  • Documente APIs públicas com comentários apropriados

Processo de Pull Request

  1. Certifique-se de que seu PR aborda uma única preocupação
  2. Inclua uma descrição clara das mudanças
  3. Referencie quaisquer issues relacionados
  4. Atualize a documentação se necessário
  5. Certifique-se de que o projeto compila com sucesso

Relatando Issues

Ao registrar um relatório de bug, por favor inclua:

  • Versão do macOS e hardware (Apple Silicon ou Intel)
  • Versão do TruchiEmu
  • Passos para reproduzir o problema
  • Comportamento esperado vs. real
  • Logs de crash ou capturas de tela, se aplicável

Áreas Precisando de Ajuda

  • Integração de cores: Melhore a compatibilidade com cores libretro adicionais
  • Efeitos de shaders: Crie novos shaders Metal para diferentes tipos de tela
  • Documentação: Expanda o site de documentação com mais exemplos e guias
  • Testes: Teste a compatibilidade de jogos em diferentes sistemas
  • UI/UX: Refine a interface SwiftUI e adicione novos recursos