> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nika.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# Install Nika

> Install Nika, verify the binary, scaffold a repo, and wire editor/agent MCP clients.

export const Ecosystem = () => <CardGroup cols={3}>
    <Card title="nika.sh" icon="globe" href="https://nika.sh">
      The site: what Nika is, in one scroll.
    </Card>
    <Card title="Timeline" icon="timeline" href="https://nika.sh/timeline">
      The verifiable record: eras · releases · claims re-proven in CI.
    </Card>
    <Card title="Language spec" icon="file-contract" href="https://github.com/supernovae-st/nika-spec">
      `nika: v1`, Apache-2.0. The contract these docs explain.
    </Card>
    <Card title="Engine source" icon="gem" href="https://github.com/supernovae-st/nika">
      Rust, AGPL-3.0-or-later. Every commit public.
    </Card>
    <Card title="Editor extension" icon="puzzle-piece" href="https://marketplace.visualstudio.com/items?itemName=supernovae.nika-lang">
      VS Code · Cursor · Windsurf: check-as-you-type, DAG view, trace replay.
    </Card>
    <Card title="Homebrew tap" icon="beer-mug-empty" href="https://github.com/supernovae-st/homebrew-tap">
      `brew install supernovae-st/tap/nika` for the latest tagged CLI release.
    </Card>
    <Card title="SuperNovae" icon="star" href="https://supernovae.studio">
      The Paris studio crafting Nika. 🦋
    </Card>
  </CardGroup>;

export const STATUS = {
  head: "79588ad76",
  branch: "main",
  version: "0.108.0",
  cratesWorkspace: 56,
  cratesAdmitted: 54,
  cratesTarget: "50-90",
  cratesCap: 100,
  wipCrates: ["nika-chart", "nika-fx"],
  libTests: 4809,
  clippyWarnings: 0,
  adrs: 67,
  adrsAccepted: 53,
  adrsProposed: 12,
  providers: 38,
  capabilityRules: 49,
  hygieneVectors: 40,
  lastUpdated: "2026-08-06"
};

<Warning>
  **Latest release: v{STATUS.version}**, what `brew install` and the install
  script give you. Main may be ahead with unreleased features. Run `nika --version`
  and `nika --help` after install; those commands are the executable source of
  truth for your local binary. The `nika: v1` language envelope is stable.
</Warning>

## Install today

<Tabs>
  <Tab title="Homebrew">
    ```bash theme={"system"}
    brew install supernovae-st/tap/nika
    ```

    Recent Homebrew versions gate third-party taps behind a trust prompt —
    if the install reports the tap as untrusted, run
    `brew trust supernovae-st/tap` once and retry.
  </Tab>

  <Tab title="curl">
    ```bash theme={"system"}
    curl -LsSf https://nika.sh/install.sh | sh
    ```

    Detects platform (macOS / Linux), prefers Homebrew when `NIKA_VERSION=latest`
    and Homebrew is available, then falls back to the GitHub release binary.
    Prefer a guided page? [nika.sh/install](https://nika.sh/install) walks the
    same install step by step, alongside this raw script.
  </Tab>

  <Tab title="cargo binstall">
    ```bash theme={"system"}
    cargo binstall --git https://github.com/supernovae-st/nika nika-cli
    ```

    Fetches the **prebuilt release tarball** (no compile — the crate ships
    [binstall metadata](https://github.com/cargo-bins/cargo-binstall) mapping
    every release asset). One honest wart until the crates.io publish: the
    binary lands as `~/.cargo/bin/nika-cli` (the crate's declared bin name) —
    add the public name once with
    `ln -sf ~/.cargo/bin/nika-cli ~/.cargo/bin/nika`.
  </Tab>

  <Tab title="nix">
    ```bash theme={"system"}
    nix run github:supernovae-st/nika
    ```

    **Builds the exact release source** via the repo's root `flake.nix` —
    the first run compiles, the store caches it, and the binary answers as
    `nika` (the flake renames the seed crate at install, same as the
    release). `nix profile install github:supernovae-st/nika` for a durable
    install. Zero gatekeeper: no nixpkgs queue, the flake ships in-repo.
  </Tab>

  <Tab title="source">
    ```bash theme={"system"}
    git clone https://github.com/supernovae-st/nika.git
    cd nika
    cargo test --workspace --lib
    cargo build --release -p nika-cli
    mkdir -p ~/.nika/bin
    ln -sf "$PWD/target/release/nika-cli" ~/.nika/bin/nika
    export PATH="$HOME/.nika/bin:$PATH"
    nika --version
    ```
  </Tab>
</Tabs>

## First-run verification

```bash theme={"system"}
nika --version
nika try       # see a canonical workflow WORK — offline, zero keys, nothing written
nika doctor    # providers + editor/agent readiness + exact fixes
nika init      # repo-local schema + AGENTS.md
nika wire all  # explicit MCP wiring for agent clients
```

`nika try` is the zero-risk first contact: it rehearses a canonical
example under the mock provider — nothing written, nothing owned, and
bare `nika try` lists what there is to see. `nika init` scaffolds
repo-local schema wiring and agent context. Newer binaries also expose
`nika wire cursor` / `nika wire all` for explicit MCP client setup.
Installers do not mutate editor configs automatically.

## Platforms

| Platform            | Release asset                       | Status                      |
| ------------------- | ----------------------------------- | --------------------------- |
| macOS Apple Silicon | `nika-macos-arm64-<release>.tar.gz` | shipped                     |
| macOS Intel         | `nika-macos-x64-<release>.tar.gz`   | shipped                     |
| Linux x86\_64       | `nika-linux-x64-<release>.tar.gz`   | shipped                     |
| Linux aarch64       | `nika-linux-arm64-<release>.tar.gz` | shipped                     |
| Windows             | `x86_64-pc-windows-msvc`            | 🧭 planned post-1.0         |
| WASM (sandboxed)    | `wasm32-wasip2`                     | 🧭 planned · a future major |

## Trust but verify

<Check>
  The install script lives at [nika.sh/install.sh](https://nika.sh/install.sh).
  **Read it before piping to `sh`.** It's a small POSIX shell script.

  Release binaries are published at
  [github.com/supernovae-st/nika/releases](https://github.com/supernovae-st/nika/releases)
  with SHA256 sums.
</Check>

## Provider keys

Nika needs a provider to run inference (local needs no key at all).

```bash theme={"system"}
# Local · zero key (Ollama daemon)
ollama pull llama3.2:3b

# Or export any cloud provider key (ephemeral)
export MISTRAL_API_KEY=...
export ANTHROPIC_API_KEY=sk-ant-...
```

See [Providers catalog](/reference/providers-catalog) for all
{STATUS.providers} providers with their env var names.

## What gets installed

* **`nika`**, the binary (single file, no daemon, no background process)
* **Nothing else.** No service, no telemetry, no home-dir pollution beyond
  files you explicitly create with `nika init` or `nika wire`.

## Shell completions

The binary generates its own completions — no separate package, always in
sync with the verbs your version actually ships:

<Tabs>
  <Tab title="zsh">
    ```bash theme={"system"}
    mkdir -p ~/.zsh/completions
    nika completions zsh > ~/.zsh/completions/_nika
    # once, in ~/.zshrc (before compinit):
    # fpath=(~/.zsh/completions $fpath)
    exec zsh
    ```
  </Tab>

  <Tab title="bash">
    ```bash theme={"system"}
    mkdir -p ~/.local/share/bash-completion/completions
    nika completions bash > ~/.local/share/bash-completion/completions/nika
    exec bash
    ```
  </Tab>

  <Tab title="fish">
    ```bash theme={"system"}
    nika completions fish > ~/.config/fish/completions/nika.fish
    ```
  </Tab>
</Tabs>

Also available: `elvish` and `powershell`. Re-run the same command after an
upgrade to pick up new verbs.

<Note>
  On engines up to 0.93.x the generated script bound completions to the
  internal binary name instead of `nika` — fixed on current main. If
  completions don't fire after installing, upgrade and regenerate.
</Note>

## Uninstall

```bash theme={"system"}
# Homebrew
brew uninstall nika

# Manual install
rm ~/.nika/bin/nika
```

## Next

<CardGroup cols={2}>
  <Card title="First workflow" icon="play" href="/getting-started/first-workflow">
    Your first `.nika.yaml`.
  </Card>

  <Card title="Editor setup" icon="code" href="/getting-started/editors">
    Schema validation + LSP roadmap.
  </Card>

  <Card title="Live state" icon="gauge" href="/reference/status">
    Track live engine state.
  </Card>

  <Card title="Architecture" icon="layer-group" href="/architecture/layers">
    Why Nika is built this way.
  </Card>
</CardGroup>

## The Nika ecosystem

<Ecosystem />
