#392 · Herramienta para desarrolladores

Codeowners Pattern Tester

Comprueba de forma local qué regla CODEOWNERS se aplicaría a una lista de rutas. Introduce las reglas antes de una línea con --- y, debajo, las rutas que quieres evaluar. El tester recorre las reglas en orden y conserva la última coincidencia, lo que ayuda a detectar excepciones ocultas, patrones demasiado amplios y archivos que se quedan sin propietario antes de modificar el archivo real del repositorio.

Datos de entrada

Reglas y rutas
Espacio publicitario

Cómo usar esta herramienta para desarrolladores

  1. Pega reglas CODEOWNERS en el mismo orden que usarías en el repositorio.
  2. Añade una línea que contenga únicamente --- para separar reglas y rutas.
  3. Escribe debajo una ruta de archivo por línea.
  4. Ejecuta la prueba y revisa el patrón que quedó como última coincidencia para cada ruta.

Qué hace esta herramienta para desarrolladores

Cada resultado muestra la ruta, los owners seleccionados y el patrón que terminó aplicándose. La simulación está pensada para patrones comunes de CODEOWNERS y para comparar el efecto del orden de las reglas.

Los patrones se convierten a expresiones de coincidencia locales con soporte práctico para *, **, ?, patrones de raíz y directorios. Las reglas se evalúan de arriba abajo y la última coincidencia reemplaza a las anteriores.

La sintaxis exacta de CODEOWNERS tiene particularidades según la plataforma. Usa este tester para diagnóstico previo, no como sustituto de la validación oficial del proveedor.

Ejemplo

* @base src/** @frontend src/admin/** @security --- src/admin/panel.js

La ruta termina asignada a @security porque la última regla coincidente reemplaza a las anteriores.

Casos de uso

  • Comprobar excepciones en un CODEOWNERS extenso.
  • Encontrar rutas que no reciben owner.
  • Comparar el efecto de mover una regla hacia arriba o abajo.

Consejos para obtener resultados fiables

  • Usa rutas reales copiadas del repositorio.
  • Mantén el mismo orden que tendrá el archivo publicado.
  • Prueba archivos de raíz y subdirectorios por separado.
  • Incluye casos límite donde se superpongan patrones.
  • Confirma después el comportamiento en la plataforma de alojamiento.

Detalles del procesamiento

La prueba se realiza completamente en el navegador. Los resultados pueden descargarse como texto, CSV o JSON para revisar conjuntos grandes de rutas.

La conversión de glob cubre patrones habituales, pero no pretende reproducir al 100 % todos los matices del motor CODEOWNERS de GitHub, GitLab u otros proveedores.

Preguntas frecuentes

¿Cómo puedo saber qué regla CODEOWNERS gana cuando varias coinciden?

El tester evalúa las reglas en orden y muestra la última coincidencia encontrada para cada ruta, lo que permite visualizar el efecto de reglas superpuestas.

¿El patrón ** de CODEOWNERS se prueba en subdirectorios?

Sí, la simulación trata ** como una coincidencia que puede atravesar separadores de directorio.

¿Puedo comprobar rutas que se quedan sin propietario?

Sí. Deja activada la opción para incluir rutas sin owner y aparecerán marcadas como SIN OWNER.

¿La prueba de patrones sustituye a la validación de GitHub?

No. Es una simulación local para patrones frecuentes; la interpretación definitiva depende del motor CODEOWNERS del proveedor.

¿Por qué un patrón posterior cambia el owner de una ruta ya coincidente?

Porque la herramienta conserva la última regla coincidente, lo que permite reproducir el efecto del orden de reglas en configuraciones donde una regla posterior reemplaza a una anterior.

Módulos de la herramienta

MóduloQué comprueba o genera
Separador de casosDivide reglas y rutas usando ---.
Motor de patronesConvierte globs frecuentes a coincidencias locales.
ResoluciónConserva la última regla coincidente y reporta rutas sin owner.