• Español
  • Cómo registrar un repo

    Hay dos registros y sirven para cosas distintas. El catálogo lista todos los repos de ingeniería y enlaza a GitLab. El manifest de agregación copia los docs/ de unos pocos repos hacia el portal.

    RegistroArchivoAlcanceQué produce
    Catálogorepos-inventory.jsonTodos los reposUna fila en /repos/ con el enlace a GitLab
    Agregacióndocs-manifest.yamlSolo los repos registradosLas páginas del repo publicadas en /repos/<slug>/

    Todo repo va en el catálogo. La agregación es opt-in y deliberada: se reserva para los servicios Tier-1, donde está el riesgo de estabilidad. Un repo agregado también aparece en el catálogo, con un enlace adicional hacia sus docs.

    1. Abre repos-inventory.json y agrega una entrada al grupo de su disciplina. Los grupos son frontend, backend, qa, infra y platform.

      {
        "url": "https://gitlab.com/crehana-team/platform/platform-radar",
        "name": "platform-radar",
        "product": "Engineering Platform",
        "module": "initiative-hub",
        "owner": "platform"
      }
    2. Completa los campos. Todos son obligatorios salvo module.

      CampoQué es
      urlLa URL del proyecto en GitLab, con https://
      nameEl nombre que se muestra en la tabla
      productEl producto al que sirve el repo
      moduleOpcional. El módulo dentro del producto
      ownerEl squad o equipo dueño
    3. Regenera el catálogo y valida:

      pnpm run build

      Deberías ver el conteo actualizado:

      ✓ catalog: 3 repos, 0 registered for aggregation

    La página /repos/ se genera desde este archivo en cada build. Nunca la edites a mano. Un JSON malformado o una entrada sin un campo obligatorio rompen el build nombrando la entrada culpable.

    Agrega los docs de un repo al portal

    Antes de registrar un repo en el manifest, ese repo necesita:

    • Una carpeta docs/ con al menos una página en .md o .mdx
    • Un CODEOWNERS que cubra esa carpeta, para que sus docs pasen por revisión

    Después:

    1. Agrega una entrada a docs-manifest.yaml:

      repos:
        - slug: checkout-service
          name: checkout-service
          gitlab_path: crehana-team/backend/checkout-service
          docs_path: docs
          owner: squad-payments
    2. Elige el slug con cuidado. Define la URL en /repos/<slug>/ y no cambia nunca, ni siquiera cuando el repo se mueve dentro de GitLab. Si el repo se mueve, actualiza gitlab_path y conserva el slug: las URLs del portal siguen funcionando.

    3. Si el repo es privado, exporta un token de lectura antes de agregar:

      export AGGREGATION_TOKEN=<token de lectura de GitLab>
    4. Trae los docs y construye:

      pnpm run aggregate
      pnpm run build

    Verificación

    pnpm run aggregate reconstruye desde cero todo docs/<locale>/repos/<slug>/, así que el portal siempre es reproducible desde el manifest y los repos de origen. Deberías ver:

      checkout-service: 3 page(s) from crehana-team/backend/checkout-service@main (a1b2c3d)
    ✓ aggregate: 1 repo(s) pulled into es + en

    Abre /repos/checkout-service/ y confirma que cada página muestra su encabezado de procedencia con el repo, el commit, la fecha y el owner. Una página agregada sin procedencia rompe el build.

    Qué pasa con el idioma

    Las páginas agregadas se copian tal como están en el repo de origen, a los dos árboles de idioma. No se traducen: quien las escribió es dueño de su contenido, y el portal solo las publica con su procedencia.

    Relacionado