2026-04-30 03:26:10 -04:00
|
|
|
---
|
2026-06-07 08:25:58 +03:00
|
|
|
description: Run the ECC formatter quality gate for a single file and report remediation steps.
|
2026-04-30 03:26:10 -04:00
|
|
|
---
|
|
|
|
|
|
2026-03-04 14:48:06 -08:00
|
|
|
# Quality Gate Command
|
|
|
|
|
|
2026-06-07 08:25:58 +03:00
|
|
|
Operator entry point for the formatter quality gate that normally runs as the
|
|
|
|
|
`post:quality-gate` PostToolUse hook (`scripts/hooks/quality-gate.js`).
|
|
|
|
|
|
|
|
|
|
## How it actually works
|
|
|
|
|
|
|
|
|
|
The gate is a single-file formatter check driven by hook input, not CLI flags:
|
|
|
|
|
|
|
|
|
|
- The script reads the target from the hook's stdin JSON
|
|
|
|
|
(`tool_input.file_path`); it does not take a path argument.
|
|
|
|
|
- Behavior toggles are environment variables:
|
|
|
|
|
- `ECC_QUALITY_GATE_FIX=true` - apply formatting fixes instead of check-only
|
|
|
|
|
- `ECC_QUALITY_GATE_STRICT=true` - log formatter failures as gate failures
|
|
|
|
|
- Coverage by file type:
|
|
|
|
|
- `.ts/.tsx/.js/.jsx/.json/.md` - Biome `check` or Prettier `--check`,
|
|
|
|
|
whichever the project ships (JS/TS under Biome is skipped here because
|
|
|
|
|
`post-edit-format` already runs `biome check --write`)
|
|
|
|
|
- `.go` - `gofmt`
|
|
|
|
|
- `.py` - `ruff format`
|
|
|
|
|
- Lint and type checks are not part of this gate. Use the `verification-loop`
|
|
|
|
|
skill or the language verification skills for lint/type/test pipelines.
|
2026-03-04 14:48:06 -08:00
|
|
|
|
|
|
|
|
## Usage
|
|
|
|
|
|
2026-06-07 08:25:58 +03:00
|
|
|
To run the gate manually against one file, pipe hook-style JSON into the
|
|
|
|
|
script (set the env toggles first if you want fix or strict behavior):
|
2026-03-04 14:48:06 -08:00
|
|
|
|
2026-06-07 08:25:58 +03:00
|
|
|
```bash
|
|
|
|
|
echo '{"tool_input":{"file_path":"src/example.ts"}}' \
|
|
|
|
|
| ECC_QUALITY_GATE_FIX=true node scripts/hooks/quality-gate.js
|
|
|
|
|
```
|
2026-03-04 14:48:06 -08:00
|
|
|
|
2026-06-07 08:25:58 +03:00
|
|
|
Then report formatter findings and concrete remediation steps.
|
2026-03-04 14:48:06 -08:00
|
|
|
|
|
|
|
|
## Notes
|
|
|
|
|
|
2026-07-20 04:47:10 +09:00
|
|
|
Hook wiring enters through the async PostToolUse dispatcher in
|
|
|
|
|
`hooks/hooks.json`. Its internal registry preserves the `post:quality-gate`
|
|
|
|
|
ID and the `standard`/`strict` profiles.
|
2026-03-04 14:48:06 -08:00
|
|
|
|
|
|
|
|
## Arguments
|
|
|
|
|
|
|
|
|
|
$ARGUMENTS:
|
2026-06-07 08:25:58 +03:00
|
|
|
|
|
|
|
|
- `[path]` optional file to check. The script itself takes no CLI
|
|
|
|
|
arguments - when a path is given, substitute it as `tool_input.file_path`
|
|
|
|
|
in the stdin JSON shown above before running the command
|