# What gets scanned

Choose the scope that fits your task: discover the project’s agent instructions, scan a configuration directory, or check a specific file.

## Discover agent instructions

Run this from the project root:

```sh
lintlang scan --discover .
```

LintLang recursively finds these recognized names and paths:

- `AGENTS.md`, `CLAUDE.md`, `GEMINI.md`, and `SKILL.md`.
- `agent.yaml`, `agent.yml`, and `agent.json`.
- `.github/copilot-instructions.md` and `*.instructions.md` inside `.github/instructions/`.

Names are case-sensitive. Discovery does not automatically include every editor or host layout. Add files such as `.cursor/rules/...` or `.claude/agents/...` explicitly:

```sh
lintlang scan .cursor/rules/project.mdc --discover .
```

Replace that example with an existing file. Explicit paths and discovered paths are combined without scanning duplicates.

## Scan a directory or configuration

A directory scan uses a broader sweep of supported file extensions:

```sh
lintlang scan config.yaml prompts/
```

This is useful when your harness stores prompts, tools, and schemas in custom locations. It also finds supported Python sources. Unlike discovery, the directory scan is not restricted to recognized instruction filenames.

| Input | What LintLang reads |
| --- | --- |
| Instruction documents | Instruction text; eligible skill front matter is checked separately. |
| YAML and JSON | Recognized tools, schemas, prompts, messages, and nested configuration shapes. |
| Python | Statically extractable prompt literals, literal tool definitions, and selected numeric assignments. |
| Text and prompt files | Prompt text from explicit inputs or the supported directory sweep. |

Dynamic values that cannot be extracted are not inspected. The [format reference](/docs/reference#supported-formats-and-extraction) describes the exact shapes and source-location behavior.

## Exclude files deliberately

Use `--exclude` for a one-off exclusion, or place `.lintlangignore` at the scanned directory root:

```sh
lintlang scan --discover . --exclude 'archive/**'
```

Patterns are limited globs, not the full Git-ignore language. Explicit files are not subject to directory exclusions. Discovery and directory scans do not follow symlinks. See [CLI configuration](/docs/cli#ignore-files) for details.

## Check inspection coverage

Read the `Inspected` line along with the verdict. A readable file can be `SKIPPED` if it contains no recognized agent content; a scan with nothing inspected returns an error by default.

A scan covers the content it found, not every file or runtime value an agent could use. [Coverage and limitations](/docs/concepts) explains how to interpret the result.

[Read a finding](/docs/quickstart#2-read-a-finding) · [Choose an integration](/integrations).

