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

Public entrypoints for the shared CLI subprocess runtime foundation.

# `first_party_profile_module`

```elixir
@type first_party_profile_module() ::
  CliSubprocessCore.ProviderProfiles.Claude
  | CliSubprocessCore.ProviderProfiles.Codex
  | CliSubprocessCore.ProviderProfiles.Gemini
  | CliSubprocessCore.ProviderProfiles.Amp
```

# `built_in_profile_modules`

```elixir
@spec built_in_profile_modules() :: [module()]
```

Returns the provider profile modules booted into the default registry.

This includes the shipped first-party profiles plus any explicitly configured
external preload modules.

# `configured_profile_modules`

```elixir
@spec configured_profile_modules() :: [module()]
```

Returns provider profile modules configured to preload into the default
registry at boot.

# `first_party_profile_modules`

```elixir
@spec first_party_profile_modules() :: [first_party_profile_module(), ...]
```

Returns the first-party provider profile modules shipped by
`cli_subprocess_core`.

# `normalized_event_kinds`

```elixir
@spec normalized_event_kinds() :: [CliSubprocessCore.Event.kind()]
```

Returns the normalized event kinds exposed by the core vocabulary.

# `provider_profile`

```elixir
@spec provider_profile(atom()) :: {:ok, module()} | :error
```

Resolves a provider profile from the default registry.

---

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