Mod de Claude Code que impide al agente cambiar los tests firmados en test/contrato/ para que pasen.
- Edit y Write: si el agente intenta editar o sobrescribir un test que ya existe en
test/contrato/, se rechaza y el agente lee el motivo. Crear un test nuevo sí se permite. - Terminal (Bash y PowerShell): un comando puede tocar cualquier archivo, así que el mod mira
git diff HEAD -- test/contrato/antes y después. Si el comando cambió un test firmado, lo restaura y avisa al agente. /tests-lock on | off | statuspara activar, desactivar o ver el estado.- En la terminal enseña una línea de estado con los intentos frenados.
"Firmado" significa commiteado: el mod compara con HEAD, así que lo que no esté en un commit no está protegido.
Del vídeo Claude Code Mods de Dominicode. Probado con Claude Code 2.1.289 y 2.1.294 en Windows 11. La API de los mods es reciente y puede cambiar entre versiones.
git clone https://github.com/domini-code/tests-lock.git
claude --plugin-dir ./tests-lockEn Windows, si usas Git Bash, pasa la ruta en formato C:/... a --plugin-dir: con /c/... el mod no carga.
claude plugin validate ./tests-lock
claude plugin test ./tests-lock # 5 tests- Si un mismo comando cambia un test y hace commit, después
git diff HEADsale limpio y el mod no se entera. Para eso está el CI. - Corre con tus permisos y sin sandbox, como cualquier mod. Lee el código antes de instalar mods de otros.
- Protege una ruta fija (
test/contrato/). Cámbiala enhooks/register.tssi tu proyecto usa otra.
MIT