mcpField
G
gate

gate

github.com/iankikuTesting & quality1841 installsUpdated 13w ago
Repository

About gate

A code verification skill for developers that runs checks, reads errors, applies fixes, and repeats. It requires command output as evidence of success and reports blocked checks rather than claiming a pass when verification cannot complete.

Key features

  1. 01Detect stack and determine check commands
  2. 02Run lint, typecheck, build, and tests
  3. 03Read errors and retry fixes for limited iterations
  4. 04Support individual checks and full verification
  5. 05Report checks that cannot execute as blocked

Use cases

  1. 01Running quality checks before submitting code
  2. 02Fixing build or test failures
  3. 03Running only a selected type of check
  4. 04Reporting verification steps that remain unresolved

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/iankiku/forwward-teams --skill gate

After installing, type/gatein Claude Code to confirm it loaded.

Details

From the project README

Gate — Self-Healing Verification

Run checks, read errors, fix them, repeat. Prove code WORKS by executing it.

Anti-Shortcut Rules

  1. NEVER declare PASS from reading source. Execute and observe output.
  2. NEVER declare PASS without command output. "It should work" is not evidence.
  3. If a check can't execute, report BLOCKED — never fake PASS.

Step 0: Detect the Stack and Get Commands

Read .claude/project.local.json (local, gitignored override) if present, else .claude/project.json, for build commands. If not, detect the stack and infer the right commands:

Stack markerLintTypecheckBuildTest
package.jsonnpm run lintnpm run typecheck / tsc --noEmitnpm run buildnpm test
go.modgolangci-lint run(types checked at build)go build ./...go test ./...
pyproject.toml / requirements.txtruff check . / flake8mypy .(no compile step)pytest
Gemfilerubocop(Sorbet if present)bundle exec rake assets:precompilebundle exec rspec
pom.xmlmvn checkstyle:check(compiled)mvn packagemvn test
Cargo.tomlcargo clippy(compiled)cargo buildcargo test

Also check Makefile — many projects centralize all commands there (make lint, make test, make build).

Or init from the plugin CLI if available:

${CLAUDE_PLUGIN_ROOT}/scripts/cli init

Optional: Audit pass

Before running the loop, gate can invoke /audit to clean the branch first:

/audit          # de-slop + DRY + dead code on changed files only

Run audit when: the user says "clean before shipping", the diff is large and messy, or this is a pre-release gate. Skip audit for hotfixes and small patches — the loop is enough.

Audit scope when invoked from gate: files changed on this branch only (git diff main...HEAD). Full-codebase audit is a separate invocation.

The Loop

Run up to 4 iterations:

  1. Execute: lint → typecheck → build → test
  2. All pass? → GATE PASSED — stop.
  3. Any fail? → Read full error, fix it, run again.

Fix Rules

Error TypeFixDon't
Type errorsFix the type, add the importUse @ts-ignore
Build errorsFix imports, exports, modulesSkip the check
Lint errorsFix the actual issueBlanket disable
Test failuresFix the code or the testDelete the test

NEVER change business logic during gate. Only fix types, imports, lint.

Circuit Breaker

After 4 iterations without full pass:

  1. Report which checks still fail with last error output
  2. Do NOT fake a PASS
  3. Inform user or team lead

CLI Reference

FlagWhat
-lLint only
-cTypecheck only
-bBuild only
-tTests only
-aApp startup (dev server + health check)
-uUI tests (Playwright/Cypress)
-gFull gate: lint + typecheck + build + test
--allEverything including app + UI

Comments

Markdown supported