# `PromptRunner.RepoTargets`
[🔗](https://github.com/nshkrdotcom/prompt_runner_sdk/blob/v0.4.0/lib/prompt_runner/repo_targets.ex#L1)

Expands repo group references (`@group_name`) in target repo lists.

Handles nested groups, cycle detection, and error reporting.

# `error`

```elixir
@type error() ::
  {:unknown_group, String.t()}
  | {:cycle, [String.t()]}
  | {:invalid_group_value, String.t(), term()}
```

# `expand`

```elixir
@spec expand([String.t()] | nil, map() | nil) :: {[String.t()] | nil, [error()]}
```

# `expand!`

```elixir
@spec expand!([String.t()] | nil, map() | nil) :: [String.t()] | nil
```

# `format_error`

```elixir
@spec format_error(error()) :: String.t()
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
