Ir al contenido

Contribuir

¡Gracias por plantearte contribuir a cs-routeros-bouncer!

  • Go 1.26.4+
  • Un router MikroTik (para pruebas funcionales — opcional)
  • Git
  1. Haz un fork y clona el repositorio

    Ventana de terminal
    git clone https://github.com/YOUR-USERNAME/cs-routeros-bouncer.git
    cd cs-routeros-bouncer
  2. Instala las dependencias y verifica la compilación

    Ventana de terminal
    go mod download
    go build ./...
    go test ./...
  1. Crea una rama a partir de main

    Ventana de terminal
    git checkout -b feat/my-feature
  2. Haz tus cambios — mantén los commits enfocados y atómicos

  3. Escribe pruebas para la nueva funcionalidad

  4. Ejecuta la suite de pruebas y el linter

    Ventana de terminal
    go test ./...
    golangci-lint run
  5. Haz commit usando mensajes de commit convencionales

    feat: add support for new feature
    fix: correct handling of edge case
    docs: update configuration reference
  6. Haz push y crea un pull request

Sigue Conventional Commits:

PrefijoUso
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
  • 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
  • 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é

Al informar de errores, incluye:

  1. Versión del bouncer (cs-routeros-bouncer -version)
  2. Versión de MikroTik RouterOS
  3. Configuración (con las credenciales censuradas)
  4. Salida de log relevante (LOG_LEVEL=debug)
  5. Pasos para reproducirlo