Contribuir a TruchiEmu

Gracias por tu interes en contribuir a TruchiEmu! Ya sea que estes corrigiendo errores, agregando funcionalidades, mejorando la documentacion o ayudando con las pruebas, tus contribuciones son bienvenidas.

Formas de Contribuir

Contribuciones de Codigo

  • Correccion de errores: Revisa los GitHub Issues para errores abiertos
  • Nuevas funcionalidades: Propone funcionalidades via GitHub Discussions primero
  • Mejoras de rendimiento: Optimiza la integracion del core de emulacion o la UI
  • Desarrollo de shaders: Crea shaders de Metal personalizados

Contribuciones Sin Codigo

  • Documentacion: Mejora guias, agrega ejemplos, corrige errores tipograficos
  • Pruebas: Prueba juegos en diferentes sistemas e informa sobre compatibilidad
  • Reportes de errores: Reporta issues detallados con pasos de reproduccion
  • Soporte comunitario: Ayuda a otros usuarios en Discussions e issues

Primeros Pasos

  1. Haz fork del repositorio de TruchiEmu
  2. Clona tu fork: git clone https://github.com/YOUR_USERNAME/truchiemu.git
  3. Crea una rama de funcionalidad: git checkout -b feature/your-feature-name
  4. Realiza tus cambios siguiendo el estilo de codigo del proyecto
  5. Compila y prueba tus cambios localmente
  6. Envia un pull request

Guias de Contribucion

Estilo de Codigo

  • Sigue los patrones de codigo y convenciones de nombres existentes
  • Usa las mejores practicas de SwiftUI para cambios en la UI
  • Manten el bridging de ObjC++ al minimo prefiere Swift cuando sea posible
  • Documenta las APIs publicas con comentarios apropiados

Proceso de Pull Request

  1. Asegurate de que tu PR aborde un unico tema
  2. Incluye una descripcion clara de los cambios
  3. Referencia cualquier issue relacionado
  4. Actualiza la documentacion si es necesario
  5. Asegurate de que el proyecto compile correctamente

Reportar Issues

Al reportar un error, por favor incluye:

  • Version de macOS y hardware (Apple Silicon o Intel)
  • Version de TruchiEmu
  • Pasos para reproducir el problema
  • Comportamiento esperado vs. actual
  • Registros de crash o capturas de pantalla si aplica

Areas que Necesitan Ayuda

  • Integracion de cores: Mejora la compatibilidad con cores adicionales de libretro
  • Efectos de shaders: Crea nuevos shaders de Metal para diferentes tipos de pantalla
  • Documentacion: Amplia el sitio de documentacion con mas ejemplos y guias
  • Pruebas: Prueba la compatibilidad de juegos en diferentes sistemas
  • UI/UX: Refina la interfaz de SwiftUI y agrega nuevas funcionalidades