---
url: 'https://adk.nht.io/api/eslint/variables/rules.md'
description: >-
  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>`.
---

# Variable: rules

```ts
const 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:36](https://github.com/NHTIO/ADK/blob/v1.20260607.1/src/eslint/index.ts#L36)

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

## Type Declaration

| Name                                                                                                          | Type                                                                                   | Default value                            | Defined in                                                                                    |
| ------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | ---------------------------------------- | --------------------------------------------------------------------------------------------- |
|  `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) |
|  `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) |
|  `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) |
|  `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) |
|  `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) |
