claudemods

All Claude Code modscpeaustriajc/cj-stack

test-guard

A Claude Code mod in cpeaustriajc/cj-stack

Denies an Edit, MultiEdit or Write that changes or removes a line a test file has at HEAD; additions pass, and only the user can allow one path with /test-guard allow <path>

test-guard reaches L2 (writes or runs) and fails claude plugin validate on Claude Code 2.1.312: modules../register.ts: test-guard.allowed is not declared: the manifest's types contract must name it in interface PluginState { test-guard: { allowed: ... } }.

Install hint

/plugin install test-guard --marketplace cpeaustriajc/cj-stack

From the repository's own marketplace. Confirm the plugin name in the repository's README before installing. Mods need Claude Code 2.1.287 or later. It fails validation in the latest scan, so it may not install.

Access

L2 Writes or runsruns processes, reads files, reads mod state

Validation

fails on 2.1.312

View the source on GitHub Back to the list

What the scan recorded

Observed events
every tool call
Hooks
session.start, command.run {command=test-guard}, tool.call
API calls
$.command.register, $.fs.exists, $.fs.read, $.process.run, $.session.cwd, $.state.get, $.state.set
Validation on 2.1.312
fails on 2.1.312
Validator output
modules../register.ts: test-guard.allowed is not declared: the manifest's types contract must name it in interface PluginState { test-guard: { allowed: ... } }; ./register.ts hooks: session.start, command.run{command=test-guard}, tool.call; ./register.ts answers its own command: command.run{command=test-guard}; ./register.ts gating hook with .catch: tool.call; ./register.ts calls: $.command.register, $.fs.exists (via nearestDir), $.fs.read (via after), $.process.run (via headText, isTest), $.session.cwd, $.state.get, $.state.set; ./register.ts state writes: test-guard.allowed; ./register.ts state reads: test-guard.allowed
Scanned revision
268410f16b16
Marketplace passed
cj-stack

These are the hooks and API calls reported by claude plugin validate. Access levels describe the widest reach of those calls and are not safety ratings. Validation is a static check, not a runtime test, and a passing result does not prove that a mod works or is safe. What a mod can access and how the scan works.

More from cpeaustriajc/cj-stack

Badge for your README

Reach badge for test-guard Validation badge for test-guard

Authors can show the latest scan result in their README. Each badge links to this page.

[![reach](https://raw.githubusercontent.com/karanb192/awesome-claude-code-mods/main/badges/cpeaustriajc--cj-stack--test-guard-reach.svg)](https://mods.aidojo.si/mods/cpeaustriajc--cj-stack--test-guard/)
[![validates](https://raw.githubusercontent.com/karanb192/awesome-claude-code-mods/main/badges/cpeaustriajc--cj-stack--test-guard-validates.svg)](https://mods.aidojo.si/mods/cpeaustriajc--cj-stack--test-guard/)