<!-- Generated by scripts/ax-docs.mts from the JSDoc in registry/ouro/ax/. Do not edit; run `pnpm run docs`. -->

# ax-lint

The kit's check of a tool's declarations: what an agent needs from every declared command (a summary, an example, described arguments and flags, `--why` and a preview where other people see it, help that fits the width), and, against the tool's own command inventory, that every command it registers runs through its declaration.

```sh
npx shadcn@latest add ourostack/ouro-ui/ax-lint#v1.3.10
```

It installs `lib/ouro/ax/lint.ts`, with `ax-cli`, `ax-command`, `ax-effects`. Its tests are `ax-lint-tests`. Every item runs on Node 22.18 or later as it is copied: the files import each other as `./<file>.ts`. The [Ouro AX guide](ax.md) shows how they fit together.

## Exports

### `lintCli`

```ts
function lintCli(cli: Cli<RunContext>, options?: LintOptions): LintReport
```

### `LintOptions`

The kit's check of a tool's declarations: what an agent needs from every declared command (a summary, an example, described arguments and flags, `--why` and a preview where other people see it, help that fits the width), and, against the tool's own command inventory, that every command it registers runs through its declaration.

```ts
interface LintOptions {
  width?: number;
  inventory?: readonly string[];
}
```

### `LintReport`

```ts
interface LintReport {
  typed: string[];
  loose: string[];
  bypassed: string[];
  undeclared: string[];
  stale: string[];
  problems: string[];
  ok: boolean;
}
```
