agent-quality-gate is a locked Oxlint and Fallow quality gate for AI-assisted TypeScript and JavaScript projects.
- macOS or Linux on ARM64 or x64. Windows is not supported.
- Node.js 22.12.0 or newer.
- Bun 1.3.14 or newer for the commands below.
Download the package archive from the latest GitHub Release, then install it:
bun add -d ./agent-quality-gate-*.tgzAdd the package binary to a script:
{
"scripts": {
"verify": "verify"
}
}Create agent-quality-gate.config.json in the project root. The file is required.
{
"entries": ["src/index.ts", "bin/*.ts"],
"fallowIgnorePatterns": ["migrations/**"]
}entriesis a required non-empty list of project-relative Fallow entry globs.fallowIgnorePatternsis an optional list of project-relative globs that Fallow must not analyze. These files remain covered by Oxlint.
To add project-specific Oxlint JS rules:
{
"entries": ["src/index.ts"],
"plugins": [
{
"name": "project",
"specifier": "./tools/oxlint-project-plugin.mjs",
"rules": {
"project/no-custom-pattern": "error"
}
}
]
}Plugin specifiers are resolved from the project root and may reference local files or installed packages. Local plugin files are added to the Fallow entries automatically. Every configured rule must use the declared plugin name as its prefix. Project plugins cannot replace or disable locked rules.
To enable native Oxlint plugins, omit specifier:
{
"entries": ["src/index.ts"],
"plugins": [
{
"name": "react",
"rules": {
"react/rules-of-hooks": "error"
}
}
]
}bun run verifyFor token-efficient agent output, use RTK:
rtk bun run verifyChecks run in order and stop at the first failure:
- Reject
oxlint-disabledirectives and prevent ESLint disable directives from suppressing locked rules. oxlintruns type-aware linting and type checking with warnings denied.fallowchecks unused code and dependencies, cycles, duplication, complexity, and suppressions.
Local Oxlint and Fallow configuration files do not replace the embedded locked policy.
bun install --frozen-lockfile
bun run --silent verify
bun run testMIT. See LICENSE.