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

# project:check

> Run the project health checks and print one report

Runs the project health checks from one command. It runs the workspace gate first, runs read-only checks concurrently, optionally runs the end-to-end suite last, and prints either a grouped terminal report or JSON.

## Usage

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

## Examples

Run the default project checks:

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

Run only API checks:

```bash theme={null}
talos project:check --only=api
```

Skip front-end checks:

```bash theme={null}
talos project:check --skip=frontend
```

Include the opt-in end-to-end suite:

```bash theme={null}
talos project:check --e2e
```

Print a JSON report for CI:

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

## Options

| Option          | Description                                                                         | Default                   |
| --------------- | ----------------------------------------------------------------------------------- | ------------------------- |
| `--only`        | Comma-separated checks or categories to run.                                        | Default checks            |
| `--skip`        | Comma-separated checks or categories to skip.                                       | —                         |
| `--e2e`         | Also run the end-to-end suite.                                                      | `false`                   |
| `--outdated`    | Also compare dependencies against public registries.                                | `false`                   |
| `--packages`    | Restrict workspace, accessibility, security, and issue checks to these packages.    | All packages and modules  |
| `--modules`     | Restrict workspace, accessibility, security, and issue checks to these modules.     | All packages and modules  |
| `--audit-level` | Minimum vulnerability severity to report: `low`, `moderate`, `high`, or `critical`. | —                         |
| `--threshold`   | Minimum line and function coverage a module must reach, in percent.                 | `90`                      |
| `--concurrency` | Number of coverage suites to run at once.                                           | Core count, capped at `8` |
| `--logs`        | Stream plain workspace logs instead of the interactive view.                        | `false`                   |
| `--no-cache`    | Skip reading and writing the workspace and project caches.                          | `false`                   |
| `--strict`      | Report warnings as failures and exit non-zero.                                      | `false`                   |
| `--json`        | Print the report as JSON.                                                           | `false`                   |
| `--cwd`         | Working directory.                                                                  | Current directory         |

## Checks

`--only` and `--skip` accept check names such as `workspace`, `security`, `coverage`, `issues`, and `hygiene`. They also accept categories: `foundation`, `architecture`, `api`, `data`, `runtime`, `frontend`, `quality`, `supply-chain`, and `process`.

`outdated` and `e2e` are opt-in checks. Use `--outdated` or `--e2e`, or name them in `--only`, to run them.

## Execution

The workspace check runs first. Coverage runs after the workspace gate. The other non-serial checks run concurrently. The end-to-end check runs last because it runs the `e2e` workspace task.

## Caching

Cacheable check results are stored under `var/cache/project/<check>.json`. The command also stores memoized file hashes in `var/cache/project/filehashes.json`. `--no-cache` disables reading and writing these cache files.

The workspace, coverage, end-to-end, security, outdated, git, commits, and branches checks are not cached by `project:check`.

## Output

The terminal report groups checks by category, prints non-passing details and hints, and ends with a verdict. With `--json`, the report contains `root`, `durationMs`, status counts, and a `checks` array with each check id, title, category, status, cached flag, summary, details, hints, and duration.

## Exit codes

The command exits non-zero when any check fails. With `--strict`, warnings are converted to failures.
