CreaRack-SL

Reglas de Commit del método Claude

Reglas de Commit

Formato del mensaje

tipo: descripcion breve (max 72 chars)

Cuerpo opcional: contexto, motivacion, decision.

Tipos

TipoUso
featNueva funcionalidad
fixCorreccion de bug
docsSolo documentacion
refactorCambio de codigo sin cambio funcional
testAnadir o modificar tests
perfMejora de rendimiento
securityParche de seguridad

Regla 3: Docs incrementales

En cada commit con cambios funcionales, actualizar:

ArchivoQue actualizar
CLAUDE.mdVersion, stack si cambia
README.mdVersion en titulo
CHANGELOG.mdEntrada nueva en la version actual
TASK.mdEstado de tareas (completar/anadir)
RELEASE_NOTES.mdDescripcion orientada al usuario

Pequenas actualizaciones en cada commit son menos laboriosas que regularizar versiones acumuladas.

Commits docs-only

Cuando un commit SOLO cambia documentacion (.md, comentarios): push inmediato, sin [skip ci] (Regla 16 en CreaRackSL).

git commit -m "docs: descripcion"
git pull --rebase origin main && git push

Por que no [skip ci] en CreaRackSL (Regla 16, vigente): saltarlo rompe CF Pages Deploy (los cambios de docs no llegan a workspace.crearack.com) y Bibliotecario-Ingest (el grafo no recibe los .md). Con el CI en runners propios (servidor OPS) los minutos de Actions ya no son el cuello de botella. Excepcion unica: emergencia autorizada por Edu/Dani con motivo en el commit.

Portabilidad: en otros proyectos cuyo CI se paga por minuto y donde docs-only no dispara deploys ni ingest, [skip ci] en commits docs-only puede seguir teniendo sentido. Es criterio por proyecto — en CreaRackSL esta prohibido.

Biblioteca (si disponible)

Antes de commitear:

  1. bib_impact_query(file_path="<archivo>") — muestra que docs necesitan actualizacion.
  2. bib_report_change(file_path="<archivo>", change_type="modified") — antes del git commit, por cada archivo de codigo tocado. El hook bib_report_check.py bloquea el commit si falta. Bypass puntual: BIB_SKIP=1 git commit ... (queda registrado en /biblioteca/pulse).

Push vs PR — flujo hibrido

PR obligatorio cuando cumpla CUALQUIERA:

  • Mas de 5 archivos tocados.
  • Toca: migrations, compose, Dockerfile, requirements.txt, config/settings, .github/workflows/.
  • Mensaje de commit empieza con feat: o refactor:.

Push directo a main cuando:

  • Docs-only o cambios en public/supercontext/.
  • Fix puntual <5 archivos sin tocar infra.
  • Mensaje de commit fix: / chore: / style:.

En equipos de 2-3 devs, la fricción de siempre-PR desalienta commits pequeños. El criterio hibrido mantiene review previa para cambios criticos sin ahogar el flujo diario. Merge al verde, MANUAL (gh pr merge <N> --squash).

Reglas operacionales post-Supercontexto

Aprendidas en proyectos reales 2026-04:

#ReglaPor que
14Verificar CI tras push · el EFECTO, no la señalComprobar TODOS los workflows del commit (gh run list --json conclusion,name, NO --limit 1 ni el exit de gh run watch) tras cada push. Deployers automaticos (Dokploy, Vercel, CF Pages) pueden desplegar aunque el CI este rojo y dejar errores invisibles durante dias
15HTTP 200 != exitoScripts que hablan con APIs deben parsear body.errors y devolver exit!=0 cuando algo fallo semanticamente. Un MCP handler devolvio 200 con errors:[...] y el script lo tomo como OK — grafo roto 3 semanas
17Infraestructura nunca en un PC personalCrons/webhooks/servicios criticos van en infraestructura compartida (servidor, cron GitHub Actions, CF Workers). Nunca Task Scheduler local: es un SPOF
18Pre-commit gemelo del CI · pre-push = gate rapido del areaCada check que corre en CI (linter, formatter, typecheck) tiene su gemelo en claude-method/harness/pre_commit_check.py. El pre-push es un gate rapido que corre solo los tests del area tocada (cambios transversales → suite completa); la suite entera la corre siempre el CI
20Push vs PR hibridoVer seccion arriba. Formaliza el criterio para equipos 2-5 devs donde siempre-PR es fricción pero siempre-push es riesgo
21Tamano de commitBug fix <=80 LOC, 1 fix = 1 commit. Feature <=400 LOC por commit. Excepciones documentadas: cierres de iniciativa multi-sesion (supercontext(iN):), refactors mecanicos masivos, backfills programaticos con script idempotente referenciado

(Las numeraciones se mantienen historicas — algunos proyectos tienen 14, otros 19, otros 27 segun cuando se incorporaron las reglas.)

Véase también

  • [[ia-tech—metodo—git-flow]]
  • [[ia-tech—metodo—multi-dev]]
  • [[ia-tech—metodo—claude-method-guide]]
  • [[ia-tech—metodo—harness-engineering]]
  • [[crearack-tech—guides—agent-rules]]