#391 · Herramienta para desarrolladores

Codeowners Generator

Convierte una lista legible de rutas y responsables en un archivo CODEOWNERS listo para revisar. Cada línea admite un patrón y uno o varios propietarios, y el generador comprueba errores habituales como reglas sin owner, identificadores sin @ y patrones duplicados. El resultado conserva el orden, porque en CODEOWNERS la última regla coincidente puede cambiar quién recibe una solicitud de revisión.

Datos de entrada

Reglas de propiedad
Espacio publicitario

Cómo usar esta herramienta para desarrolladores

  1. Escribe una regla por línea con un patrón, el separador | y uno o varios propietarios.
  2. Usa usuarios o equipos con @, o direcciones de correo cuando tu plataforma las admita.
  3. Decide si quieres conservar el orden introducido o ordenar los patrones alfabéticamente.
  4. Pulsa “Generar CODEOWNERS” y revisa los avisos antes de guardar el archivo.

Qué hace esta herramienta para desarrolladores

El resultado es texto compatible con la estructura habitual de CODEOWNERS: un patrón seguido por uno o varios responsables. El generador no consulta GitHub ni verifica que los usuarios o equipos existan; comprueba únicamente la estructura que puede validarse en el navegador.

Cada línea se separa en patrón y propietarios. Se detectan patrones duplicados, owners sospechosos y reglas incompletas; después se conserva el orden o se aplica la ordenación solicitada.

En CODEOWNERS, el orden importa: cuando varias reglas coinciden, la regla aplicable más específica no siempre gana por “especificidad”; la posición de la regla puede determinar el resultado.

Ejemplo

src/** | @equipo-frontend @ana /docs/ | @docs-team

Produce dos reglas con tres owners únicos y mantiene ambas rutas tal como se escribieron.

Casos de uso

  • Preparar un CODEOWNERS inicial para un monorepo.
  • Asignar ownership por carpetas de frontend, backend, infraestructura o documentación.
  • Revisar duplicados antes de abrir un pull request de configuración.

Consejos para obtener resultados fiables

  • Coloca las reglas generales antes de las excepciones que deban sobrescribirlas.
  • Evita ordenar automáticamente si ya has diseñado el orden con intención.
  • Usa nombres de equipos estables en lugar de usuarios individuales cuando el ownership sea colectivo.
  • Prueba el archivo final con rutas reales del repositorio.
  • Recuerda que la existencia y permisos de los owners solo pueden confirmarse en la plataforma.

Detalles del procesamiento

El procesamiento es local y no envía la lista de rutas ni propietarios a un servidor. Se preservan caracteres Unicode y espacios entre owners se normalizan a un único espacio.

No valida si un equipo tiene acceso de escritura, si el archivo está en una ubicación admitida ni reproduce todas las reglas internas de cada proveedor Git.

Preguntas frecuentes

¿Cómo genero un CODEOWNERS con varios responsables para una misma carpeta?

Escribe el patrón, añade | y coloca los usuarios o equipos separados por espacios; el resultado conservará todos los owners en la misma regla.

¿El generador comprueba que un equipo @org/equipo exista en GitHub?

No. La herramienta funciona sin conexión y solo valida la forma del owner; la existencia y los permisos deben comprobarse en GitHub.

¿Qué ocurre si repito el mismo patrón varias veces en CODEOWNERS?

Se muestra un aviso porque varias reglas iguales pueden resultar confusas y la última coincidencia puede cambiar el ownership efectivo.

¿Puedo ordenar las reglas CODEOWNERS alfabéticamente sin riesgo?

Puedes hacerlo, pero solo conviene cuando el orden no forma parte de tu estrategia de coincidencia. Revisa excepciones y reglas superpuestas después de ordenar.

¿Qué ruta y nombre debe tener el archivo CODEOWNERS generado?

La plataforma determina las ubicaciones admitidas. Guarda el texto con el nombre CODEOWNERS en una ubicación soportada por tu proveedor y revisa su documentación actual.

Módulos de la herramienta

MóduloQué comprueba o genera
Parser de reglasSepara patrón y owners usando |.
Validador localDetecta reglas vacías, owners sospechosos y patrones repetidos.
GeneradorCompone el archivo final respetando el orden seleccionado.