eslint-plugin-ai-guardrails logo

Installation & Quick Start

Get eslint-plugin-ai-guardrails running in your project in under 2 minutes.

Requirements

RequirementSupported Versions
Node.js≥ 18.0.0
ESLintv8.x · v9.x
TypeScript≥ 5.0.0
@typescript-eslint/parserv6.x · v7.x · v8.x

TypeScript-only — this plugin applies to .ts, .tsx, .mts, and .cts files. JavaScript files are intentionally excluded.


The fastest way to get started:

npx eslint-plugin-ai-guardrails init

This single command will:

  1. Create eslint.config.mjs if you don't already have an ESLint config
  2. Add lint, typecheck, and build scripts — only when missing (existing scripts are preserved)
  3. Ensure required dev dependencies are installed
  4. Create tsconfig.json with a strict baseline (only if missing)
  5. Wire vite-plugin-checker if Vite is detected
  6. Auto-generate strict AI guardrail instructions for .windsurf, .cursor, .agents, and .kiro

Option B — Manual Setup

Install the plugin

npm install --save-dev eslint-plugin-ai-guardrails @typescript-eslint/parser
pnpm add -D eslint-plugin-ai-guardrails @typescript-eslint/parser
yarn add -D eslint-plugin-ai-guardrails @typescript-eslint/parser
bun add -d eslint-plugin-ai-guardrails @typescript-eslint/parser

Add to your ESLint config

// eslint.config.mjs
import aiGuardrails from 'eslint-plugin-ai-guardrails';

export default [
  aiGuardrails.flatConfigs.recommended
];
// .eslintrc.json
{
  "parser": "@typescript-eslint/parser",
  "plugins": ["ai-guardrails"],
  "extends": ["plugin:ai-guardrails/recommended"]
}

Add lint scripts

{
  "scripts": {
    "lint": "eslint . --max-warnings 0",
    "typecheck": "tsc --noEmit",
    "build": "npm run lint && npm run typecheck && <your-build-step>"
  }
}

Run it

npm run lint

You should see warnings on any files that exceed the default thresholds.


Tested Frameworks

This plugin is integration-tested against:

  • Vite + React + TypeScript (ESLint v9 flat config)
  • Next.js (ESLint v9 flat config)
  • NestJS (ESLint v9 flat config with strict overrides)
  • Express + TypeScript (ESLint v8 legacy .eslintrc)
  • ESM projects ("type": "module" with eslint.config.mjs)
  • CJS projects (require() with eslint.config.cjs)
  • Monorepo workspaces (npm / pnpm / yarn workspaces)

See the Integrations guide for framework-specific configs.

On this page