<!-- @generated by usage-cli from usage spec -->
# `mise deps`

- **Usage**: `mise deps [FLAGS] [PROVIDER] <SUBCOMMAND>`
- **Aliases**: `dep`
- **Effect**: modifies state
- **Source code**: [`src/cli/deps/mod.rs`](https://github.com/jdx/mise/blob/main/src/cli/deps/mod.rs)

[experimental] Manage project dependencies

Runs all applicable dependency install steps for the current project.
This checks if dependency lockfiles are newer than installed outputs
(e.g., package-lock.json vs node_modules/) and runs install commands
if needed.

Providers with `auto = true` are automatically invoked before `mise x` and `mise run`
unless skipped with the --no-deps flag.

## Arguments

### `[PROVIDER]`

Provider to operate on (runs only this provider, or use with --explain)

## Flags

### `--explain`

Show why a provider is fresh or stale (requires a provider argument)

### `-f --force`

Force run all deps steps even if outputs are fresh

### `-n --dry-run`

Only check if deps install is needed, don't run commands

### `--list`

Show what deps providers are available

### `--monorepo`

Install dependencies from every [monorepo].config_roots config root

Requires monorepo_root = true plus explicit [monorepo].config_roots in
the monorepo root config. Providers are named like //apps/api:uv.

### `--only… <ONLY>`

Run specific deps rule(s) only

### `--skip… <SKIP>`

Skip specific deps rule(s)

## Subcommands

- [`mise deps add [-D --dev] <PACKAGES>…`](/cli/deps/add.md)
- [`mise deps install [FLAGS] [PROVIDER]`](/cli/deps/install.md)
- [`mise deps remove <PACKAGES>…`](/cli/deps/remove.md)

Examples:

```
mise deps                    # Install all project dependencies
mise deps install            # Same as bare `mise deps`
mise deps install --force    # Force reinstall even if fresh
mise deps install --dry-run  # Show what would run
mise deps --monorepo         # Install deps from explicit monorepo config roots
mise deps add npm:react      # Add a dependency
mise deps add -D npm:vitest  # Add a dev dependency
mise deps remove npm:lodash  # Remove a dependency
```

Configuration:

```toml
# Built-in npm provider (auto-detects lockfile)
[deps.npm]
auto = true              # Auto-run before mise x/run

# Custom provider
[deps.codegen]
auto = true
sources = ["schema/*.graphql"]
outputs = ["src/generated/"]
run = "npm run codegen"

[deps]
disable = ["npm"]        # Disable specific providers at runtime
```
