> For AI agents: the complete documentation index is available at https://rslint.rs/llms.txt, the full documentation bundle is available at https://rslint.rs/llms-full.txt.

# Rules & Presets

Presets provide ready-to-use groups of rules. Add them directly to the flat config array, then use a later [`rules`](https://rslint.rs/config/rules.md) entry for project-specific overrides.

## Available presets


| Preset | Description | View rules |
| --- | --- | --- |
| `js.configs.recommended` | JavaScript recommended rules | [View rules →](/rules/?preset=js.configs.recommended) |
| `ts.configs.recommended` | TypeScript recommended rules | [View rules →](/rules/?preset=ts.configs.recommended) |
| `ts.configs.recommendedTypeChecked` | TypeScript recommended rules, including typed ones | [View rules →](/rules/?preset=ts.configs.recommendedTypeChecked) |
| `ts.configs.strict` | TypeScript recommended rules plus opinionated extras | [View rules →](/rules/?preset=ts.configs.strict) |
| `ts.configs.strictTypeChecked` | TypeScript strict rules, including typed ones | [View rules →](/rules/?preset=ts.configs.strictTypeChecked) |
| `ts.configs.stylistic` | TypeScript consistency rules | [View rules →](/rules/?preset=ts.configs.stylistic) |
| `ts.configs.stylisticTypeChecked` | TypeScript consistency rules, including typed ones | [View rules →](/rules/?preset=ts.configs.stylisticTypeChecked) |
| `reactPlugin.configs.recommended` | React rules | [View rules →](/rules/?preset=reactPlugin.configs.recommended) |
| `reactHooksPlugin.configs.recommended` | React Hooks rules | [View rules →](/rules/?preset=reactHooksPlugin.configs.recommended) |
| `importPlugin.configs.recommended` | Import/export rules | [View rules →](/rules/?preset=importPlugin.configs.recommended) |
| `nodePlugin.configs.recommended` | Node.js rules for mixed CommonJS and ES modules | [View rules →](/rules/?preset=nodePlugin.configs.recommended) |
| `nodePlugin.configs.recommendedModule` | Node.js rules for ES modules | [View rules →](/rules/?preset=nodePlugin.configs.recommendedModule) |
| `nodePlugin.configs.recommendedScript` | Node.js rules for CommonJS | [View rules →](/rules/?preset=nodePlugin.configs.recommendedScript) |
| `promisePlugin.configs.recommended` | Promise rules | [View rules →](/rules/?preset=promisePlugin.configs.recommended) |
| `jestPlugin.configs.all` | All supported Jest rules | [View rules →](/rules/?preset=jestPlugin.configs.all) |
| `jestPlugin.configs.recommended` | Jest rules | [View rules →](/rules/?preset=jestPlugin.configs.recommended) |
| `jestPlugin.configs.style` | Jest style rules | [View rules →](/rules/?preset=jestPlugin.configs.style) |
| `rstestPlugin.configs.all` | All supported Rstest rules | [View rules →](/rules/?preset=rstestPlugin.configs.all) |
| `rstestPlugin.configs.env` | Rstest globals | [View rules →](/rules/?preset=rstestPlugin.configs.env) |
| `rstestPlugin.configs.recommended` | Rstest rules | [View rules →](/rules/?preset=rstestPlugin.configs.recommended) |
| `rstestPlugin.configs.style` | Rstest style rules | [View rules →](/rules/?preset=rstestPlugin.configs.style) |
| `unicornPlugin.configs.recommended` | Unicorn rules | [View rules →](/rules/?preset=unicornPlugin.configs.recommended) |
| `jsxA11yPlugin.configs.recommended` | JSX a11y rules | [View rules →](/rules/?preset=jsxA11yPlugin.configs.recommended) |


Import presets from `@rslint/core`:


```ts
import {
  defineConfig,
  js,
  ts,
  reactPlugin,
  reactHooksPlugin,
  importPlugin,
  nodePlugin,
  promisePlugin,
  jestPlugin,
  rstestPlugin,
  unicornPlugin,
  jsxA11yPlugin,
} from '@rslint/core';

```

## Choosing a TypeScript preset

The `ts.configs.*` presets mirror typescript-eslint's own layering. Pick one baseline:

| Baseline                 | What it covers                                                                        |
| ------------------------ | ------------------------------------------------------------------------------------- |
| `recommended`            | Rules that catch code likely to be buggy, using syntax alone                          |
| `recommendedTypeChecked` | `recommended` plus the rules that read type information                               |
| `strict`                 | `recommended` plus opinionated rules that catch more bugs at the cost of more reports |
| `strictTypeChecked`      | `strict` plus the rules that read type information                                    |

`stylistic` and `stylisticTypeChecked` hold the consistency rules. Layer one after the baseline:

```ts
export default defineConfig([
  js.configs.recommended,
  ts.configs.strictTypeChecked,
  ts.configs.stylisticTypeChecked,
]);
```

Every `ts.configs.*` preset declares the `@typescript-eslint` plugin. Like upstream, presets do not set project discovery options. Enable `parserOptions.projectService: true` explicitly for automatic discovery, or use `parserOptions.project` to select TypeScript projects. Type-aware rules run only for files with a selected project; [gap files](https://rslint.rs/guide/type-checking.md#gap-files) retain source-only linting.

To configure a rule manually, see [`rules`](https://rslint.rs/config/rules.md). To enable rules outside a preset, see [`plugins`](https://rslint.rs/config/plugins.md). The complete [Rules](https://rslint.rs/rules/index.md) reference documents rule-specific options.
