# `Denox.CLI`
[🔗](https://github.com/gsmlg-dev/denox/blob/v0.9.0/lib/denox/cli.ex#L1)

Manages a bundled Deno CLI binary.

Disabled by default. Enable by setting the version in config:

    config :denox, :cli, version: "2.1.4"

The binary is downloaded from GitHub releases and cached in
`_build/denox_cli-{version}/deno`.

# `bin_path`

```elixir
@spec bin_path() :: {:ok, String.t()} | {:error, term()}
```

Path to the cached deno binary. Downloads if needed.

Returns `{:ok, path}` or `{:error, reason}`.

# `configured_version`

```elixir
@spec configured_version() :: String.t() | nil
```

The configured deno version, or nil if not configured.

# `find_deno`

```elixir
@spec find_deno() :: {:ok, String.t()} | {:error, String.t()}
```

Find a `deno` executable, preferring the system PATH.

Tries `System.find_executable("deno")` first, then falls back to
the bundled CLI binary via `bin_path/0`. Returns an actionable
error message if neither is available.

# `install`

```elixir
@spec install() :: :ok | {:error, term()}
```

Download the configured deno version for this platform.

Returns `:ok` or `{:error, reason}`.

# `installed?`

```elixir
@spec installed?() :: boolean()
```

Check if the binary is already downloaded.

---

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