> ## Documentation Index
> Fetch the complete documentation index at: https://docs.talosjs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# issue:check

> Validate local issue YAML files against the issue conventions

Checks issue YAML files under modules and packages. It reports file-integrity, YAML, schema, state, branch, pull request, dependency, and cross-file diagnostics, then exits non-zero when errors are present.

## Usage

```bash theme={null}
talos issue:check [options]
```

## Examples

Check every issue file:

```bash theme={null}
talos issue:check
```

Check issues owned by one module or package:

```bash theme={null}
talos issue:check --module=user
```

Check specific issue ids:

```bash theme={null}
talos issue:check --id=OON-100000,ENG-45
```

Fail on warnings as well as errors:

```bash theme={null}
talos issue:check --strict
```

Print diagnostics as JSON:

```bash theme={null}
talos issue:check --json
```

## Options

| Option     | Description                                                                                       | Default           |
| ---------- | ------------------------------------------------------------------------------------------------- | ----------------- |
| `--module` | Only check issues owned by these modules or packages. Accepts comma-separated or repeated values. | All owners        |
| `--id`     | Only check these issue ids. Accepts comma-separated or repeated values.                           | All issues        |
| `--strict` | Fail on warnings as well as errors.                                                               | `false`           |
| `--json`   | Print diagnostics as JSON instead of a human report.                                              | `false`           |
| `--cwd`    | Working directory.                                                                                | Current directory |

## Discovery

The command scans `modules/` and `packages/` for directories that own an `issues/` directory. It loads the whole project before filtering so duplicate ids, duplicate branches, and dependency cycles remain visible when you filter the report.

Only `<ID>.yml` files are issue files. Hidden files are ignored. Nested directories and non-`.yml` files inside a selected `issues/` directory are reported as errors.

## Rules

The checker validates issue file integrity before parsing YAML. It rejects unreadable, too-large, non-UTF-8, empty, malformed, non-mapping, and duplicate-key files. It also reports line-ending, indentation, control-character, trailing-whitespace, and missing-trailing-newline problems.

Parsed issues are checked against the known top-level fields, states, priorities, labels, required planned sections, checkbox formats, dependencies, branch format, pull request format, comments, spec, and resources.

## Output

The human report prints diagnostics grouped by file as `ERROR` or `WARN`, including a line number when available. With `--json`, the report contains file and module counts, error and warning counts, and a diagnostics array.

If no issue matches a requested filter, the command exits non-zero. If there are no issue files and no filter, it prints `No issue files found` and exits successfully.

## Exit codes

The command exits non-zero when any error is reported. With `--strict`, warnings also make the command exit non-zero.
