Contribuir¶
Por dónde empezar si quieres trabajar en el código de Evey, y qué tiene que superar una pull request. Los documentos escritos para quien contribuye están junto al código, en GitHub, y no en este sitio; esta página te lleva a ellos.
Por dónde empezar¶
| Quieres | Lee |
|---|---|
| Compilar y ejecutar Evey desde el código fuente | DEV.md |
| Conocer las reglas de una contribución: ramas, commits, tests, el acuerdo de licencia | CONTRIBUTING.md |
| Orientarte en el código en media hora | Mapa del código |
| Entender las capas y los contextos delimitados | Arquitectura |
| Seguir las convenciones que ya usa el código | Convenciones de código |
| Trabajar en la interfaz | Sistema de diseño del frontend |
| Saber por qué se tomó una decisión de estructura | Decisiones de arquitectura |
| Publicar una versión | Guía de publicación de versiones |
Por qué un registro de decisión, y dónde¶
Cada decisión de estructura (la organización hexagonal, cómo se limitan los tokens de plugin, por qué la instalación es un solo archivo compose, cómo un único plan de reproducción decide para todos los clientes) tiene un registro de decisión de arquitectura: el contexto, las opciones que se sopesaron, lo que se eligió y lo que cuesta. Se guardan en el repositorio, junto al código que explican, y son el sitio por donde empezar antes de proponer cambiar una de esas decisiones.
Antes de abrir una pull request¶
- Ejecuta
make pre-push: es la puerta de control, y ejecuta en local las comprobaciones de la CI en este orden: vet, análisis de vulnerabilidades, compilación, tests unitarios con-race, frontend (comprobación de tipos, lint, tests unitarios), análisis de seguridad, lint, guardas de arquitectura, higiene de los commits, búsqueda de secretos, comprobación de cambios incompatibles en los proto, una compilación desde una copia limpia, las puertas de integración del repositorio y de la transcodificación, y la auditoría de TV. - Añade tests para cada comportamiento nuevo y para cada corrección de un error.
- Si contribuyes desde fuera, acepta una vez el acuerdo de licencia para contribuidores: Evey es AGPL-3.0-or-later y también puede ofrecerse con una licencia comercial. Tú conservas los derechos de autor sobre tu trabajo.
La puerta de control no construye la imagen Docker ni las aplicaciones Android
Si tocas el Dockerfile o código Kotlin, constrúyelos tú
(docker build --target runtime, la tarea de release de Gradle) antes
de hacer push.
Los problemas de seguridad no se comunican en público: escribe a
security@eveyproject.org (consulta SECURITY.md).