# `CliSubprocessCore.CommandSpec`
[🔗](https://github.com/nshkrdotcom/cli_subprocess_core/blob/v0.1.0/lib/cli_subprocess_core/command_spec.ex#L1)

Resolved subprocess program plus any argv prefix that must precede provider
arguments.

This lets core-owned provider resolution express launchers such as
`npx --yes --package @google/gemini-cli gemini ...` while still projecting to
a normal `CliSubprocessCore.Command` invocation for transport execution.

# `t`

```elixir
@type t() :: %CliSubprocessCore.CommandSpec{
  argv_prefix: [String.t()],
  program: String.t()
}
```

# `command_args`

```elixir
@spec command_args(t(), [String.t()]) :: [String.t()]
```

# `new`

```elixir
@spec new(
  String.t(),
  keyword()
) :: t()
```

---

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