# atmos helm plan

Preview the changes a Helm apply would make. `plan` is an alias for
[`diff`](/cli/commands/helm/diff): it renders the chart client-side and shows a
unified diff against a baseline (the deployed release, a local manifest file, or
a GitOps deployment repository). See [`diff`](/cli/commands/helm/diff) for the
full description of baselines and flags.

## Usage

```shell
atmos helm plan <component> --stack <stack> [options]

# Diff against the deployed release (requires cluster access).
atmos helm plan monitoring -s plat-ue2-dev

# Diff offline against a local manifest or the GitOps deployment repository.
atmos helm plan monitoring -s plat-ue2-dev --from-manifest=current.yaml
atmos helm plan monitoring -s plat-ue2-dev --against=target

# Plan all components tagged "production" (composes with --all/--affected)
atmos helm plan --all --tags production
```

In CI, bulk plans selected with `--all` or `--affected` write one aggregate GitHub job summary
after the dependency graph completes. It lists every attempted component in stable stack/component
order, distinguishes changed, unchanged, and failed results, and includes collapsible diffs for
changed components.

## Flags

- **`--stack`, `-s` (required)** — Atmos stack.
- **`--against=<source>` / `--from-manifest=<path>` / `--context=<n>` (optional)** — Select and tune the diff baseline. See [`diff`](/cli/commands/helm/diff#flags).
- **`--dependency-update` (optional)** — Fetch declared chart dependencies when they are missing. See [`diff`](/cli/commands/helm/diff#flags).
- **`--all` / `--affected` / `--include-dependents` (optional)** — Process multiple Helm components in dependency order.
- **`--tags` / `--labels` (optional)** — Filter by tags (comma-separated, matches any) or labels (comma-separated `key=value` or `key:value` pairs in one flag value, matches all): `--tags=production,tier-1`, `--labels=cost-center=platform`. Compose with `--all`/`--affected` to narrow the selected set further; cannot be combined with a single component argument.
