¡Gracias por tu interés en contribuir a OpenTune! Este documento proporciona las directrices y mejores prácticas para contribuir al proyecto. Siguiendo estas pautas, nos ayudas a mantener un código de alta calidad y una comunidad constructiva.
Note
Antes de comenzar, asegúrate de haber leído y comprendido nuestro Código de Conducta.
- Cómo Contribuir
- Guía de Estilo
- Proceso de Desarrollo
- Configuración del Entorno
- Contribuciones de Traducción
- Contribuciones de Diseño
Los bugs son rastreados como issues de GitHub. Antes de crear un nuevo issue, verifica si el problema ya ha sido reportado. Si encuentras un issue abierto que aborda el mismo problema, añade tu información adicional como comentario.
Al crear un nuevo issue, por favor proporciona:
- Título descriptivo: Un título claro que identifique el problema
- Pasos para reproducir: Pasos detallados para reproducir el problema
- Comportamiento esperado: Descripción de lo que esperabas que ocurriera
- Comportamiento actual: Descripción de lo que realmente ocurrió
- Contexto: Información relevante como versión de la aplicación, dispositivo, versión de Android, etc.
- Capturas de pantalla: Si es posible, añade capturas de pantalla para ilustrar el problema
- Logs: Si es aplicable, incluye logs relevantes de la aplicación
Tip
Usa las plantillas proporcionadas al crear un issue para asegurarte de incluir toda la información necesaria.
Las sugerencias de mejora también se gestionan a través de issues de GitHub. Al proponer una nueva característica:
- Describe el problema: Explica qué problema resolvería esta característica
- Explica la solución: Describe cómo debería funcionar la característica
- Proporciona ejemplos: Si es posible, ofrece ejemplos de cómo se implementaría o utilizaría esta característica
- Considera el alcance: Evalúa si la característica es pequeña, mediana o grande en términos de esfuerzo de implementación
Important
Antes de trabajar en una nueva característica, asegúrate de que ha sido discutida y aprobada por los mantenedores del proyecto.
Sigue estos pasos para enviar un pull request:
- Fork el repositorio y crea tu rama desde
main
- Implementa tus cambios siguiendo nuestra guía de estilo
- Añade o actualiza tests para reflejar tus cambios cuando sea necesario
- Asegúrate de que todos los tests pasen
- Actualiza la documentación si es necesario
- Envía el pull request con una descripción clara de los cambios y referencias a los issues relacionados
- Kotlin: Sigue la guía de estilo oficial de Kotlin
- XML: Usa 4 espacios para la indentación
- Nombres de variables y funciones: Usa camelCase (p.ej.,
playerController
) - Nombres de clases: Usa PascalCase (p.ej.,
MusicPlayer
) - Constantes: Usa SNAKE_CASE en mayúsculas (p.ej.,
MAX_RETRY_COUNT
)
Seguimos el estándar de Conventional Commits:
<tipo>(<ámbito opcional>): <descripción>
[cuerpo opcional]
[pie opcional]
Tipos comunes:
feat
: Nueva característicafix
: Corrección de bugdocs
: Cambios en la documentaciónstyle
: Cambios que no afectan al significado del código (espacios, formato, etc.)refactor
: Cambio de código que no corrige un bug ni añade una característicaperf
: Cambio de código que mejora el rendimientotest
: Añadir tests o corregir tests existenteschore
: Cambios en el proceso de construcción o herramientas auxiliares
Ejemplos:
feat(player): añadir soporte para reproducción de audio sin conexión
fix(ui): corregir problema de renderizado en la lista de canciones
docs(readme): actualizar instrucciones de instalación
- Usa Markdown para la documentación
- Documenta todas las funciones y clases públicas
- Incluye ejemplos de uso cuando sea posible
- Mantén la documentación actualizada con los cambios de código
Utilizamos un flujo de trabajo basado en ramas:
main
: Rama principal, siempre establedevelop
: Rama de desarrollo, donde se integran las característicasfeature/xxx
: Ramas para nuevas característicasfix/xxx
: Ramas para correcciones de bugsrelease/xxx
: Ramas para preparar versiones
- Creación: El desarrollador crea un PR desde su rama feature/fix
- Review: Los mantenedores revisan el código y proporcionan feedback
- CI: Los tests automatizados se ejecutan
- Discusión: Se resuelven problemas o se solicitan cambios
- Aprobación: Los mantenedores aprueban el PR
- Merge: Se integra el PR en la rama de destino
Para contribuir al código de OpenTune, configura tu entorno de desarrollo siguiendo estos pasos:
- Instala Android Studio (versión 2022.1+)
- Configura el SDK de Android (API nivel 33 recomendado)
- Instala el JDK (versión 11 o superior)
- Clona el repositorio:
git clone https://github.com/Arturo254/OpenTune.git cd OpenTune
- Sincroniza el proyecto con Gradle:
./gradlew build
Para contribuir con traducciones:
- Regístrate en Crowdin
- Selecciona el idioma al que quieres contribuir
- Traduce las cadenas de texto faltantes o mejora las existentes
- El equipo de mantenimiento revisará y aprobará las traducciones
Si tu idioma no está disponible en Crowdin, contacta con el equipo de desarrollo en cervantesarturo254@gmail.com.
Para contribuir con diseños:
- Familiarízate con las directrices de Material Design 3
- Crea mockups o prototipos de tus ideas
- Envía tus diseños como un issue con la etiqueta "design"
- Incluye explicaciones sobre cómo tus diseños mejorarían la experiencia del usuario
¡Gracias por contribuir a OpenTune! Tus esfuerzos ayudan a mejorar la aplicación para todos los usuarios.
Si tienes alguna pregunta sobre cómo contribuir, no dudes en abrir un issue con la etiqueta "question" o contactar directamente con el equipo de desarrollo.