Sincronización de documentación
El código y sus documentos cambian juntos, en el mismo commit. Un documento que está mal es peor que ningún documento.
Tres formas en que los documentos se vuelven incorrectos
- Obsoleto. El documento todavía describe el comportamiento, nombre o comando antiguo.
- Faltante. Un comportamiento nuevo, un comando nuevo o una configuración nueva no tiene documentación.
- Duplicado. El mismo hecho está en dos lugares. Después, una copia cambia y la otra no.
Pasos
- Observa qué cambió.
git diff --cached --stat git diff --stat - Encuentra las reglas propias del repositorio. Lee
CLAUDE.md,CONTRIBUTING.mdydocs/README.md. Si dicen qué documento es responsable de cada tema, síguelos. Preceden al paso 3. - Enruta cada cambio a su dueño. Usa
resources/doc-routing.md. Un hecho tiene un solo hogar. Otros documentos enlazan a él. - Encuentra referencias obsoletas. Por cada nombre que renombraste o eliminaste (una función, bandera, endpoint, configuración, ruta de archivo, comando):
Corrige cada coincidencia en un documento. Vuelve a ejecutar el grep. La postcondición es: sin coincidencias, o solo coincidencias que deben permanecer (por ejemplo, una entrada en CHANGELOG sobre el renombramiento).git grep -n '<nombre antiguo>' - Edita. Cambia solo lo que el cambio de código vuelve incorrecto o incompleto. No reescribas secciones no relacionadas. Para redacción clara, usa el skill
simple-englishsi está instalado. - Confirma junto. Agrega los cambios de documentación al área de staging junto con el código. No los pongas en un PR posterior.
- Reporta. Enumera los documentos que cambiaste. Si ninguno necesitaba cambio, dilo en una línea y da la razón. Por ejemplo: "Sin docs: refactor interno, sin cambios en comportamiento, comandos o configuraciones."
Cuando el dueño no está claro
Pregunta al usuario. No crees un nuevo documento para evitar la pregunta.
Una prueba útil: ¿es un hecho sobre el estado actual (una configuración, una versión, un estado)? Va en el documento de referencia o estado. ¿Es un procedimiento (pasos que alguien sigue)? Va en la guía, runbook o skill que es dueño de ese procedimiento.
Las especificaciones tienen prioridad
Si el repositorio tiene un SPEC.md (ver engineering:spec-writing) o especificaciones gener8v bajo .gener8v/specifications/, ellas definen el comportamiento deseado.
- Si tu cambio hace lo que la especificación dice, la especificación no necesita edición.
- Si tu cambio contradice la especificación, detente. Informa al usuario. Cambia primero la especificación, a través de su dueño:
engineering:spec-writingparaSPEC.md,gener8v:specificationpara especificaciones de pipe. No edites la especificación en silencio para que coincida con el código.
Documentos de pipe
No edites archivos bajo .gener8v/ manualmente. Los skills de pipe gener8v los escriben y actualizan.
Skills relacionados
engineering:documentation-bootstrap: cuando falta un documento completo, no solo un párrafo.engineering:github-pr-merge: ejecuta esta verificación antes de un PR.engineering:github-release: lee la secciónUnreleaseddel CHANGELOG que este skill mantiene actualizada.