Contribuir
¡Gracias por plantearte contribuir a cs-routeros-bouncer!
Primeros pasos
Sección titulada «Primeros pasos»Requisitos previos
Sección titulada «Requisitos previos»- Go 1.26.4+
- Un router MikroTik (para pruebas funcionales — opcional)
- Git
Configuración
Sección titulada «Configuración»-
Haz un fork y clona el repositorio
Ventana de terminal git clone https://github.com/YOUR-USERNAME/cs-routeros-bouncer.gitcd cs-routeros-bouncer -
Instala las dependencias y verifica la compilación
Ventana de terminal go mod downloadgo build ./...go test ./...
Flujo de trabajo de desarrollo
Sección titulada «Flujo de trabajo de desarrollo»-
Crea una rama a partir de
mainVentana de terminal git checkout -b feat/my-feature -
Haz tus cambios — mantén los commits enfocados y atómicos
-
Escribe pruebas para la nueva funcionalidad
-
Ejecuta la suite de pruebas y el linter
Ventana de terminal go test ./...golangci-lint run -
Haz commit usando mensajes de commit convencionales
feat: add support for new featurefix: correct handling of edge casedocs: update configuration reference -
Haz push y crea un pull request
Mensajes de commit
Sección titulada «Mensajes de commit»Sigue Conventional Commits:
| Prefijo | Uso |
|---|---|
feat: | Nueva funcionalidad |
fix: | Corrección de errores |
docs: | Cambios en la documentación |
test: | Añadir o modificar pruebas |
refactor: | Cambio de código que ni corrige un error ni añade funcionalidad |
perf: | Mejora de rendimiento |
chore: | Cambios en el proceso de build o herramientas auxiliares |
ci: | Cambios en CI/CD |
Estilo de código
Sección titulada «Estilo de código»- Sigue las convenciones estándar de Go (
gofmt,go vet) - Usa nombres de variables y funciones con significado
- Añade comentarios a las funciones exportadas y a la lógica compleja
- Mantén las funciones enfocadas — una función, una responsabilidad
- Gestiona los errores de forma explícita — sin fallos silenciosos
Directrices para pull requests
Sección titulada «Directrices para pull requests»- Mantén los PR enfocados en un único cambio
- Incluye pruebas para la nueva funcionalidad
- Actualiza la documentación si cambia el comportamiento
- Asegúrate de que todas las comprobaciones de CI pasan
- Proporciona una descripción clara del qué y el porqué
Informar de problemas
Sección titulada «Informar de problemas»Al informar de errores, incluye:
- Versión del bouncer (
cs-routeros-bouncer -version) - Versión de MikroTik RouterOS
- Configuración (con las credenciales censuradas)
- Salida de log relevante (
LOG_LEVEL=debug) - Pasos para reproducirlo