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

# workspace:check

> Run the workspace verification gate: install, build, then coverage and lint together.

Run the full verification gate across the packages and modules of your workspace. It installs, builds, and then measures test coverage and lints the sources, reporting both as a single gate result.

## Usage

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

## Examples

Run the gate across the whole workspace:

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

Scope the gate to specific modules and packages:

```bash theme={null}
talos workspace:check --modules=billing,user --packages=billing,user
```

Require every module to reach 80% line and function coverage:

```bash theme={null}
talos workspace:check --threshold=80
```

Fail on every module under the threshold, not just on broken suites:

```bash theme={null}
talos workspace:check --threshold=80 --strict
```

Stream plain logs instead of the interactive view (for CI):

```bash theme={null}
talos workspace:check --logs
```

## Options

| Option          | Description                                                                              | Default                  |
| --------------- | ---------------------------------------------------------------------------------------- | ------------------------ |
| `--packages`    | Comma-separated package names to include (under `packages/`).                            | All packages and modules |
| `--modules`     | Comma-separated module names to include (under `modules/`).                              | All packages and modules |
| `--logs`        | Stream plain log lines instead of the interactive view.                                  | `false`                  |
| `--no-cache`    | Skip reading and writing the task cache.                                                 | `false`                  |
| `--threshold`   | Minimum line and function coverage a module must reach, in percent.                      | `90`                     |
| `--concurrency` | How many test suites run at once.                                                        | Core count, capped at 8  |
| `--strict`      | Fail on every module that stayed under the threshold, not just on the suites that broke. | `false`                  |
| `--cwd`         | Run against this directory instead of the current one.                                   | Current directory        |

## Execution

The gate runs in three stages:

<Steps>
  <Step title="Install">
    Dependencies are installed first, so the later stages run against a resolved workspace. This is [`install`](/cli/commands/install) without its audit.
  </Step>

  <Step title="Build">
    Every target is built in workspace dependency order. This is [`build`](/cli/commands/build). If the build fails, the gate stops here.
  </Step>

  <Step title="Coverage and lint, together">
    Coverage and lint touch disjoint parts of the workspace, so they run at the same time: [`coverage`](/cli/commands/coverage) draws the live loader while [`lint`](/cli/commands/lint) runs quietly beside it. Their results are printed as one report rather than two.
  </Step>
</Steps>

The command exits with code 1 if coverage fails or lint does not pass.

<Note>
  Unlike [`workspace:run`](/cli/commands/workspace-run), `workspace:check` takes
  no `--commands` option — the stages are fixed.
</Note>

## Caching

Each stage reuses the cache of the command it runs, under `var/cache/workspace`. Pass `--no-cache` to force every stage to re-run.
