Contribucion al Proyecto
Guía para contribuir al desarrollo de VasakOS. Esto aplica a desarrollos propios o comunitarios dentro del mismo entorno.
Proceso de Contribución#
Fork y Clone#
| |
Crea una Rama#
| |
Convención de nombres:
feature/feature-name- Nueva funcionalidadbugfix/bug-name- Corrección de bugrefactor/refactor-name- Refactorizacióndocs/doc-name- Documentaciónchore/chore-name- Tareas sin código funcional
Realiza tus Cambios#
Realiza los cambios en el proyecto segun creas conveninete para lo que estes intentando de resolver, recuerda que puedes utilizar varios commit si quieres organizarte pero evita exederte o que los mismos no tengan sentido. Recopila toda la informacion que creas importante para PR y para la documentacion.
Checklist:
- Código sigue lineamientos
- Tests pasan
- Sin errores de linting
- Documentación actualizada
- Commits bien descriptos
Commits#
| |
Formato de mensaje (Conventional Commits):
| |
Tipos: feat, fix, docs, style, refactor, perf, test, chore
Ejemplo:
| |
Push y Pull Request#
| |
Template de PR (auto-rellenado):
| |
Revisión y Feedback#
- Los mantenedores revisarán tu PR
- Responde a los comentarios
- Haz cambios si es necesario
- Re-quiere revisión cuando hayas hecho cambios
| |
Merge#
Una vez aprobado:
- Los mantenedores harán merge de tu PR
- Tu branch se puede eliminar
| |
Tipos de Contribución#
Nuevas Funcionalidades#
Pasos:
- Discute en un issue primero
- Sigue la arquitectura establecida
- Añade tests
- Documenta el cambio
- Actualiza CHANGELOG
Corrección de Bugs#
Pasos:
- Abre un issue describiendo el bug
- Crea rama desde issue
- Reproduce el bug con test
- Arregla el bug
- Test debe pasar
- Documenta la corrección
Documentación#
Archivos:
docs/user/*- Para usuarios finales | repodocs/devs/*- Para desarrolladores | repo- README.md - Para repositorio
- Code comments - Dentro del código
Mejoras de Performance#
Requerimientos:
- Mide antes (con profiler)
- Implementa mejora
- Mide después (compara)
- Añade benchmark si es crítico
- Documenta cambio
Tests#
Tipos:
- Unit tests - Funciones individuales
- Integration tests - Componentes integrados
- E2E tests - Flujo completo del usuario
Ubicación:
src-tauri/tests/- Tests de Rustsrc/tests/- Tests de Vue
Reportes de Bugs#
Requiere:
- Descripción clara
- Pasos para reproducir
- Comportamiento esperado vs actual
- Sistema operativo y versión
- Logs relevantes
Código Review#
Como Revisor#
Verifica:
- El código funciona
- Sigue lineamientos
- Tiene tests
- Está documentado
- No introduce regresiones
- Performance es aceptable
Comentario constructivo:
❌ “Esto está mal”
✅ “Considerar usar X en lugar de Y porque…”
Como Autor#
- Responde a todos los comentarios
- No seas defensivo
- Haz cambios si son mejoras
- Explica tu decisión si no estás de acuerdo
- Agradece el feedback
Licencia#
Toda contribución debe ser compatible con la licencia del proyecto.
Ver LICENSE en la raíz del proyecto.
Comportamiento Esperado#
Código de Conducta#
Nos comprometemos a mantener un ambiente respetuoso:
- Sé respetuoso con otros contribuidores
- Acepta crítica constructiva
- Enfócate en el código, no en la persona
- Respeta privacidad
- Reporta abuso
Si Ves Comportamiento Inapropiado#
Contacta a los mantenedores directamente (privadamente).
Reconocimiento#
- Contribuidores serán reconocidos en CONTRIBUTORS.md
- Commits quedan en el historio de Git
- Releases grandes pueden tener changelog especial
Ayuda y Soporte#
Preguntas sobre Contribución#
- Abre una Discusión en GitHub
- Pregunta en el chat comunitario (si existe)
No Sabes por Dónde Empezar#
Busca issues con label:
good-first-issue- Para nuevos contribuidoreshelp-wanted- Se busca ayudadocumentation- Mejoras de docs
Necesitas Ayuda#
- Menciona a mantenedores con @
- Se específico con tu pregunta
- Comparte código/error si es relevante
Cambios que No Aceptamos#
❌ No aceptamos:
- Código que rompe compatibilidad sin versión major
- Cambios que requieren librerías propietarias
- Código que no tiene tests
- Documentación incompleta
- Cambios de estilo sin funcionalidad
- Commits enormes sin descripción
✅ Aceptamos:
- Nuevas funcionalidades bien testeadas
- Correcciones de bugs
- Mejoras de performance con evidencia
- Documentación mejorada
- Refactorización que mejora mantenibilidad
- Tests adicionales
Maintenance#
Si Eres Mantenedor#
Responsabilidades:
- Revisar PRs oportunamente
- Mantener código limpio
- Actualizar documentación
- Moderar comportamiento
- Planificar releases
Merging#
| |
Releases#
Versionamiento: MAJOR.MINOR.PATCH
MAJOR- Breaking changesMINOR- Nuevas funcionalidadesPATCH- Bug fixes
Próximos Pasos#
- Selecciona una issue o funcionalidad
- Comenta que trabajarás en ello
- Sigue este proceso de contribución
- ¡Gracias por contribuir!
Recursos#
Preguntas Frecuentes#
P: ¿Puedo trabajar en múltiples cosas simultáneamente? R: Usa ramas diferentes para cada cosa.
P: ¿Cuánto tiempo toma ver mi PR? R: Depende, típicamente 1-3 días.
P: ¿Qué si mi PR es rechazado? R: Se explicarán las razones. Puedes pedir clarificación.
P: ¿Puedo hacer commit directo? R: No, todos pasan por PR (incluso mantenedores).
P: ¿Dónde veo mis contribuciones?
R: En tu perfil GitHub y en git log.
¡Gracias por considerar contribuir a Vasak Desktop! 🎉
