IntermedioSkills

Hook TDD Gate — bloquea editar prod sin test correspondiente

Hook con 91 installs. Test-Driven Development enforcement. Bloquea ediciones a archivos productivos (.cs, .py, .ts, .go, .rs, .rb, .php, .java, .kt, .swift, .dart) si no existe el test correspondiente.

29 de mayo de 20262 min de lecturaclaude-code

Qué es#

TDD ortodoxo dice: escribís test, ve red, escribís código, ve green, refactor. Este hook enforce el primer paso: no podés editar archivos productivos sin que exista el test correspondiente.

Lenguajes soportados:

  • .cs (C#)
  • .py (Python)
  • .ts, .tsx, .js, .jsx (TS/JS)
  • .go (Go)
  • .rs (Rust)
  • .rb (Ruby)
  • .php (PHP)
  • .java, .kt (Java/Kotlin)
  • .swift (Swift)
  • .dart (Dart)

Hook event: PreToolUse.

Tabla resumen#

CampoValor
Categoría aitmplquality-gates
Installs91
Hook eventPreToolUse
Lenguajes11+ comunes

Cómo se instala#

bash
npx claude-code-templates@latest --hook quality-gates/tdd-gate

Para Claude:

bash
Instalé el hook quality-gates/tdd-gate. Mostrame qué patterns de test
busca por cada lenguaje (test_*.py, *_test.go, *.spec.ts, etc.).
Pidamole que edite código prod sin test — debería bloquearse.

Qué podés hacer con esto#

TDD estricto enforcement#

No más "después escribo el test". El hook lo enforce upfront.

Para sesiones autónomas#

/goal largos: Claude no introduce código sin test. Quality baseline garantizado.

Adopción de TDD en teams nuevos#

Forzar el patrón es la forma más rápida de internalizarlo.

Combo con Run Tests After Changes#

TDD Gate enforce que existan tests primero. Run Tests After valida que sigan green después.

Combo con Plan Gate#

Plan Gate enforce spec. TDD Gate enforce tests. Cuádruple red de quality.

Cuándo NO conviene#

⚠️ Antes de instalar
  • Si tu equipo no hace TDD: el hook genera fricción constante.
  • Para spike code o experiments: TDD strict bloquea velocidad.
  • Para refactors masivos: el hook puede ser cauteloso de más.
  • Sin convención clara de test naming: el hook puede no encontrar tests existentes.
  • Si tu test runner no existe: override frecuente.

Bajalo de la fuente#

Recursos relacionados#