# 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 within one occurrence, and/or repeated for more, matches all): 
  `--tags=production,tier-1`
  , 
  `--labels=cost-center=platform`
   or 
  `--labels cost-center=platform --labels compliance=sox`
  . Compose with 
  `--all`
  /
  `--affected`
   to narrow the selected set further; cannot be combined with a single component argument.
