Как заставить Claude Code прогонять тесты: хуки против забывчивости агента
Автор предлагает выносить критические правила из контекстного окна Claude Code в код — через хуки жизненного цикла. Описаны три гейта: блокировка коммита без свежего зелёного прогона, отслеживание правок тестов и запрет завершать ход с недопротестированными изменениями. В прямом эксперименте хук победил инструкцию пользователя «не гоняй тесты».
CLAUDE.md 中的规则会逐渐失去效力:在会话进行到第 40 分钟时,上下文已变得杂乱,像“提交前运行测试”这样的指令也就变成了背景噪音。作者建议将关键规则从上下文中移出,放入代码中——即放入 Claude Code 的生命周期钩子(lifecycle hooks)中。第一道闸门(PreToolUse 在 Bash 上)检查在 git 提交之前,是否存在来自 Playwright 运行的新鲜绿色产物(test-results/.last-run.json),且测试自该产物生成以来未被修改。第二道闸门(PostToolUse 在 Edit/Write 上)记录对 .spec.ts
Показать ещё ↓
Источник: Habr — хаб ИИ —
оригинал
