---
url: 'https://adk.nht.io/api/eslint/variables/default.md'
description: >-
  Default export bundles the plugin and its config presets, mirroring the shape
  ESLint flat configs expect from a plugin module.
---

# Variable: default

```ts
default: {
  configs: {
     recommended: {
        name: string;
        plugins: {
           adk: Plugin;
        };
        rules: Partial<Record<string, RuleEntry>>;
     };
  };
  plugin: Plugin;
  rules: {
     artifact-tool-forbids-artifact-constructor: RuleModuleWithName<"forbidArtifactConstructor", [], unknown, RuleListener>;
     no-model-in-tool-handler: RuleModuleWithName<"noModelInHandler", [], unknown, RuleListener>;
     require-validator-any-required: RuleModuleWithName<"declareIntent", [], unknown, RuleListener>;
     thought-payload-requires-replay-tag: RuleModuleWithName<"requireReplayTag", [], unknown, RuleListener>;
     token-encoding-requires-context-window: RuleModuleWithName<"requireContextWindow", [], unknown, RuleListener>;
  };
};
```

Defined in: [eslint/index.ts:73](https://github.com/NHTIO/ADK/blob/v1.20260607.1/src/eslint/index.ts#L73)

Default export bundles the plugin and its config presets, mirroring the shape ESLint flat configs
expect from a plugin module.

## Type Declaration

| Name                                               | Type                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | Default value                            | Description                                                                                                                                                                | Defined in                                                                                    |
| -------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- |
|  `configs`            | { `recommended`: { `name`: `string`; `plugins`: { `adk`: `Plugin`; }; `rules`: [`Partial`](https://www.typescriptlang.org/docs/handbook/utility-types.html#partialtype)<[`Record`](https://www.typescriptlang.org/docs/handbook/utility-types.html#recordkeys-type)<`string`, `RuleEntry`>>; }; }                                                                                                                                                                                                                                                                                                             | -                                        | Named config presets. `recommended` enables every rule at `error` and registers the plugin under the `adk` namespace — spread it into a flat config to adopt the full set. | [eslint/index.ts:73](https://github.com/NHTIO/ADK/blob/v1.20260607.1/src/eslint/index.ts#L73) |
| `configs.recommended`                              | { `name`: `string`; `plugins`: { `adk`: `Plugin`; }; `rules`: [`Partial`](https://www.typescriptlang.org/docs/handbook/utility-types.html#partialtype)<[`Record`](https://www.typescriptlang.org/docs/handbook/utility-types.html#recordkeys-type)<`string`, `RuleEntry`>>; }                                                                                                                                                                                                                                                                                                                                   | -                                        | -                                                                                                                                                                          | [eslint/index.ts:62](https://github.com/NHTIO/ADK/blob/v1.20260607.1/src/eslint/index.ts#L62) |
| `configs.recommended.name`                         | `string`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | `'@nhtio/adk/eslint/recommended'`        | -                                                                                                                                                                          | [eslint/index.ts:63](https://github.com/NHTIO/ADK/blob/v1.20260607.1/src/eslint/index.ts#L63) |
| `configs.recommended.plugins`                      | { `adk`: `Plugin`; }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | -                                        | -                                                                                                                                                                          | [eslint/index.ts:64](https://github.com/NHTIO/ADK/blob/v1.20260607.1/src/eslint/index.ts#L64) |
| `configs.recommended.plugins.adk`                  | `Plugin`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | `plugin`                                 | -                                                                                                                                                                          | [eslint/index.ts:64](https://github.com/NHTIO/ADK/blob/v1.20260607.1/src/eslint/index.ts#L64) |
| `configs.recommended.rules`                        | [`Partial`](https://www.typescriptlang.org/docs/handbook/utility-types.html#partialtype)<[`Record`](https://www.typescriptlang.org/docs/handbook/utility-types.html#recordkeys-type)<`string`, `RuleEntry`>>                                                                                                                                                                                                                                                                                                                                                                                                        | `recommendedRules`                       | -                                                                                                                                                                          | [eslint/index.ts:65](https://github.com/NHTIO/ADK/blob/v1.20260607.1/src/eslint/index.ts#L65) |
|  `plugin`              | `Plugin`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | -                                        | The ESLint plugin object. Register under the `adk` namespace: `plugins: { adk: plugin }`.                                                                                  | [eslint/index.ts:73](https://github.com/NHTIO/ADK/blob/v1.20260607.1/src/eslint/index.ts#L73) |
|  `rules`                | { `artifact-tool-forbids-artifact-constructor`: `RuleModuleWithName`<`"forbidArtifactConstructor"`, \[], `unknown`, `RuleListener`>; `no-model-in-tool-handler`: `RuleModuleWithName`<`"noModelInHandler"`, \[], `unknown`, `RuleListener`>; `require-validator-any-required`: `RuleModuleWithName`<`"declareIntent"`, \[], `unknown`, `RuleListener`>; `thought-payload-requires-replay-tag`: `RuleModuleWithName`<`"requireReplayTag"`, \[], `unknown`, `RuleListener`>; `token-encoding-requires-context-window`: `RuleModuleWithName`<`"requireContextWindow"`, \[], `unknown`, `RuleListener`>; } | -                                        | Map of rule id (without the `adk/` plugin prefix) to its rule object. Registered on the plugin as `rules`, so configs reference them as `adk/<id>`.                        | [eslint/index.ts:73](https://github.com/NHTIO/ADK/blob/v1.20260607.1/src/eslint/index.ts#L73) |
| `rules.artifact-tool-forbids-artifact-constructor` | `RuleModuleWithName`<`"forbidArtifactConstructor"`, \[], `unknown`, `RuleListener`>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | `artifactToolForbidsArtifactConstructor` | -                                                                                                                                                                          | [eslint/index.ts:41](https://github.com/NHTIO/ADK/blob/v1.20260607.1/src/eslint/index.ts#L41) |
| `rules.no-model-in-tool-handler`                   | `RuleModuleWithName`<`"noModelInHandler"`, \[], `unknown`, `RuleListener`>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | `noModelInToolHandler`                   | -                                                                                                                                                                          | [eslint/index.ts:38](https://github.com/NHTIO/ADK/blob/v1.20260607.1/src/eslint/index.ts#L38) |
| `rules.require-validator-any-required`             | `RuleModuleWithName`<`"declareIntent"`, \[], `unknown`, `RuleListener`>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | `requireValidatorAnyRequired`            | -                                                                                                                                                                          | [eslint/index.ts:37](https://github.com/NHTIO/ADK/blob/v1.20260607.1/src/eslint/index.ts#L37) |
| `rules.thought-payload-requires-replay-tag`        | `RuleModuleWithName`<`"requireReplayTag"`, \[], `unknown`, `RuleListener`>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | `thoughtPayloadRequiresReplayTag`        | -                                                                                                                                                                          | [eslint/index.ts:39](https://github.com/NHTIO/ADK/blob/v1.20260607.1/src/eslint/index.ts#L39) |
| `rules.token-encoding-requires-context-window`     | `RuleModuleWithName`<`"requireContextWindow"`, \[], `unknown`, `RuleListener`>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | `tokenEncodingRequiresContextWindow`     | -                                                                                                                                                                          | [eslint/index.ts:40](https://github.com/NHTIO/ADK/blob/v1.20260607.1/src/eslint/index.ts#L40) |
