Prompt de rollout: documentar un repo y darlo de alta en el portal¶
Versión canónica. Copiá el bloque de abajo, completá los dos parámetros y pegalo en un agente (Claude Code) abierto en la raíz del repo a documentar. El agente hace todo en una sola pasada — documenta, hace el triage de la documentación preexistente sin bloquearse esperando decisiones humanas, publica directo en RAMA_BUILD, da de alta el repo en el portal y verifica lo publicado — y entrega al final la tabla de triage y la checklist corta de pasos humanos.
Si un rollout encuentra un problema nuevo, se agrega acá como verificación: este prompt se calibra con esfuerzo real medido, igual que las plantillas.
Tu tarea es documentar este repositorio según el estándar de Compulandia
(docs-standard) y dejarlo listo para su alta en el portal
https://docs.compulandia.com.py. Trabajá en una sola pasada completa: nada
queda bloqueado esperando a un humano; lo que no puedas determinar se
resuelve con las reglas de triage de la FASE 2.
PARÁMETROS (completados por quien pega este prompt):
- RAMA_BUILD: {{rama que el portal importará, ej: main | develop}}
- TITULO_NAV: {{título de la sección en el portal, ej: "OMS Frontend"}}
⚠ El título define la URL: ej:"OMS Frontend" → docs.compulandia.com.py/oms-frontend/
FASE 0 — RELEVAMIENTO (no escribas nada todavía)
1. Cloná https://github.com/CompulandiaTI/docs-standard en un directorio
temporal y leé su estructura completa: es el template a replicar y
contiene el estándar (README ≤40 líneas, docs/, taxonomía de directorios
opcionales, ADRs formato MADR, AGENTS.md, front-matter obligatorio).
2. Detectá del repo actual: URL real del remoto (usá ESE nombre, no el que
digan otros documentos), rama default, documentación existente en
CUALQUIER ubicación (docs/, raíz, otras carpetas), y qué comandos reales
existen (package.json, Makefile, CI).
3. Revisá el .gitignore: si ignora /docs (u otra carpeta que vayas a usar),
corregilo. Verificá con `git check-ignore` que todo lo nuevo sea
versionable.
FASE 1 — ESTRUCTURA
Replicá del template: README.md (máx. 40 líneas: qué es, stack, levantar en
local, healthcheck), AGENTS.md (comandos, convenciones, restricciones — SIN
sección "Arquitectura"), symlink CLAUDE.md → AGENTS.md, docs/index.md
(portada breve del sistema, NO copies el índice del estándar), mkdocs.yml
(copiá el del template, cambiá site_name y armá el nav con tus páginas), y
.github/workflows/notificar-portal.yml (copialo del template y poné
branches: [RAMA_BUILD]).
Si CLAUDE.md ya existe como archivo con contenido: fusioná lo vigente
dentro de AGENTS.md y recién después reemplazalo por el symlink.
FASE 2 — TRIAGE NO BLOQUEANTE DE DOCUMENTACIÓN PREEXISTENTE
Si el repo ya contiene documentación previa al estándar (*.md sueltos,
carpetas de análisis, RFCs, post-mortems, contratos, notas):
1. Inventariá TODOS los documentos y clasificalos por tipo según la
taxonomía: analisis / incidentes / estandares / integraciones / rfc /
working file (avances, backlogs, *.progress.md).
2. Aplicá la regla automática de destino — no esperes decisión humana:
- Contenido sensible (credenciales, datos reales de clientes, cuentas,
detalles de infraestructura innecesarios) → fuera del control de
versiones: carpeta gitignorada (y `git rm --cached` si estaba
trackeado). NO se publica al portal NI se commitea — _borradores/
solo lo esconde del portal, no de GitHub.
- Working files → docs/_borradores/.
- Archivos no-markdown sin función documental (PDFs, dumps, base64,
binarios) → fuera de docs/ (carpeta gitignorada) y fuera del índice
de git si estaban trackeados.
- Todo lo demás → al directorio de la taxonomía que corresponda, con
nombre kebab-case (incidentes: AAAA-MM-tema.md), front-matter
agregado y estado: borrador. Si la vigencia es dudosa (ej. análisis
previos a un fix posterior), agregá al inicio una nota
"⚠ Vigencia por confirmar" — se publica igual, marcado.
- Documentos claramente históricos/ejecutados → publicalos con
estado: obsoleto y nota de qué los reemplaza.
3. Al mover cada documento: arreglá los links que salgan de docs/ (a código:
URL absoluta de GitHub) y sanitizá datos sensibles puntuales si el resto
del documento es publicable.
4. Armá la TABLA DE TRIAGE para el reporte final:
archivo → tipo → destino → estado asignado → ¿requiere revisión humana?
CADA documento encontrado aparece en la tabla — ninguno excluido en
silencio. La revisión humana es POSTERIOR al rollout y se guía por esta
tabla.
Nota: _borradores/ queda fuera del portal porque docs-portal lo excluye en
su propio mkdocs.yml (el portal ignora el exclude_docs de los repos
importados — no confíes en el del repo, que solo afecta la vista local).
FASE 3 — CONTENIDO (solo hechos verificables, nada inventado)
- docs/arquitectura.md: componentes reales, tabla de dependencias externas
con "¿qué pasa si no está?", diagrama Mermaid, UN flujo principal narrado.
- docs/runbook.md: deploy real (leé los workflows de CI y scripts de deploy
que existan), dónde están los logs, rollback, y las 3 fallas más
frecuentes CON EVIDENCIA (troubleshooting existente, historial de git,
post-mortems del triage). Si no encontrás evidencia de fallas reales,
dejá la sección con un TODO explícito — no inventes fallas hipotéticas.
- docs/adr/: máximo 3 ADRs retroactivos de decisiones VIGENTES que aún se
re-discuten, formato MADR del template. Si la fecha de la decisión no
está registrada, decilo. Índice en docs/adr/README.md.
- Todo documento generado lleva front-matter: generado_por, revisado_por:
pendiente, fecha, estado: borrador.
FASE 4 — VERIFICACIÓN (obligatoria antes de commitear)
1. Build estricto local (el mismo modo que usa el portal; si falla acá,
rompe el deploy del portal):
python3 -m venv /tmp/mkdocs-venv && /tmp/mkdocs-venv/bin/pip install mkdocs-material
/tmp/mkdocs-venv/bin/mkdocs build --strict
2. Escaneo de secretos sobre TODO lo publicable (docs/ completo incluyendo
lo migrado en el triage, README, AGENTS.md, mkdocs.yml): tokens,
passwords, claves privadas, JWTs, datos reales de clientes.
Placeholders tipo <jwt> o {{ejemplo}} están bien.
3. Contá las líneas del README: máximo 40.
FASE 5 — PUBLICACIÓN (flujo directo: sin ramas alternativas ni PRs)
1. Commiteá directo en RAMA_BUILD con un mensaje que referencie el
estándar, y pusheá. En estos repos trabaja un solo desarrollador: la
revisión es posterior, guiada por la tabla de triage.
2. Import en el portal: cloná CompulandiaTI/docs-portal, agregá al nav:
de su mkdocs.yml la línea
- TITULO_NAV: '!import <URL-real-del-repo>?branch=RAMA_BUILD'
y pusheá directo a main (dispara el deploy, ~2 min). Sin acceso al
portal: dejá la línea exacta en el reporte final como paso humano.
3. Verificá lo publicado (esperá 2-3 minutos tras el push al portal):
- La sección aparece en https://docs.compulandia.com.py/<slug>/.
- La búsqueda del portal devuelve un término distintivo de este repo.
- NINGÚN documento de _borradores/ aparece en el portal ni en su
búsqueda.
- El workflow "Notificar portal de docs" de este repo quedó en verde.
Si algo falla, diagnosticá con el runbook del portal
(https://docs.compulandia.com.py/runbook/, fallas frecuentes 1 y 2).
Aviso: si tu red recibe redirección a cloudflareaccess.com, la
verificación por HTTP no es posible desde donde estás (el portal está
tras Cloudflare Access, con bypass solo para la red de la oficina) —
pasale estos chequeos al humano para verificar en navegador.
4. Entregale al usuario: (a) la TABLA DE TRIAGE completa, (b) el resultado
de la verificación del punto 3, y (c) esta checklist de pasos humanos
con los valores ya completados para este repo:
□ Confirmar que el secret de organización PORTAL_DISPATCH_TOKEN
alcanza a <repo> (ya existe a nivel CompulandiaTI y se hereda
automáticamente; solo un repo excluido de su visibilidad necesitaría
uno propio)
□ Verificar que el MULTIREPO_ACCESS_TOKEN de docs-portal tenga lectura
sobre <repo>
□ Revisar la tabla de triage: confirmar vigencias (borrador → validado),
decidir los marcados "requiere revisión humana"
□ Validación real: otro dev levanta el sistema siguiendo solo el README
□ Registrar horas invertidas y pasar los front-matter a estado: validado
RESTRICCIONES
- No inventes: cada afirmación de arquitectura/runbook sale del código, la
configuración o documentación existente. Lo que no sepas, marcalo como
pendiente y decilo en el resumen final.
- Fuera de este repo, lo único que tocás es la línea !import en el
mkdocs.yml de docs-portal — ningún otro archivo ni repo.
- No publiques secretos ni datos reales de clientes, tampoco en ejemplos.
- Ante la duda sobre un documento del triage: _borradores/ y a la tabla —
nunca borrado, nunca publicado con datos sensibles, nunca omitido del
reporte.