> 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.

# API overview

`@rslint/core` provides configuration helpers and presets for authoring flat configs, plus the `Rslint` class for programmatic linting:

```ts
import { Rslint, defineConfig, globalIgnores, js, ts } from '@rslint/core';
```

## Configuration API

Use the configuration exports to compose flat configs without constructing internal loader objects.

| API                                                                      | Description                                 |
| ------------------------------------------------------------------------ | ------------------------------------------- |
| [`defineConfig`](https://rslint.rs/api/configuration/define-config.md)   | Type-safe identity helper for a flat config |
| [`globalIgnores`](https://rslint.rs/api/configuration/global-ignores.md) | Creates a global ignore entry               |
| [`globals`](https://rslint.rs/api/configuration/globals.md)              | Lazily loaded runtime-global catalog        |

## Plugin API

These exports provide the configuration API for Rslint's built-in rule groups and plugins. The rules are compiled into Rslint, so the upstream ESLint plugins do not need to be installed. Each page lists the upstream project its rules are based on and maps every available Rslint preset to its upstream configuration source.

An upstream mapping describes the compatibility source, not a byte-for-byte copy. Rslint presets include the rules Rslint currently supports and may contain adaptations for its native runtime.

| API                                                                       | Description                                         |
| ------------------------------------------------------------------------- | --------------------------------------------------- |
| [`js`](https://rslint.rs/api/presets/js.md)                               | JavaScript                                          |
| [`ts`](https://rslint.rs/api/presets/ts.md)                               | TypeScript baseline, strict, and stylistic variants |
| [`reactPlugin`](https://rslint.rs/api/presets/react-plugin.md)            | React                                               |
| [`reactHooksPlugin`](https://rslint.rs/api/presets/react-hooks-plugin.md) | React Hooks                                         |
| [`importPlugin`](https://rslint.rs/api/presets/import-plugin.md)          | Imports                                             |
| [`nodePlugin`](https://rslint.rs/api/presets/node-plugin.md)              | Node.js                                             |
| [`promisePlugin`](https://rslint.rs/api/presets/promise-plugin.md)        | Promises                                            |
| [`jestPlugin`](https://rslint.rs/api/presets/jest-plugin.md)              | Jest                                                |
| [`rstestPlugin`](https://rslint.rs/api/presets/rstest-plugin.md)          | Rstest                                              |
| [`unicornPlugin`](https://rslint.rs/api/presets/unicorn-plugin.md)        | Unicorn                                             |
| [`jsxA11yPlugin`](https://rslint.rs/api/presets/jsx-a11y-plugin.md)       | JSX accessibility                                   |

## JavaScript API

Use the JavaScript API when a Node.js-compatible host needs to invoke Rslint directly. The [JavaScript API guide](https://rslint.rs/guide/js-api.md) covers common workflows; the reference below documents the complete class surface.

| API                                         | Description                                              |
| ------------------------------------------- | -------------------------------------------------------- |
| [`Rslint`](https://rslint.rs/api/rslint.md) | ESLint-style class for linting files or in-memory source |
