AGPL-3.0-or-later · forever.

install · v0.105.0

Un binaire. Ta machine.

Deux minutes jusqu'à ton premier run.

Nika, c'est un seul binaire Rust : pas de daemon, pas de compte, pas de cloud obligatoire. Choisis une porte d'entrée ci-dessous et lance ton premier fichier avec un modèle local gratuit.

macOS · Linux · air-gapped OK

  1. 01 · homebrew

    La one-liner

    macOS ou Linux avec Homebrew : sur ton PATH immédiatement. Vérifie avec nika --version.

    ce que tu devrais voir
    nika --versionnika 0.105.0

    real output · nika 0.105.0 · nika --version · re-captured at every release

  2. 02 · script

    Sans Homebrew

    Télécharge le binaire de release vérifié dans ~/.nika/bin et imprime l'unique ligne PATH à ajouter à ton profil shell. Rouvre le terminal et nika --version répond.

    curl -LsSf https://nika.sh/install.sh | sh

    Une toolchain déjà en place ? cargo récupère le tarball de release précompilé, zéro compilation (le binaire arrive sous le nom nika-cli jusqu'à la publication crates.io : un symlink vers le nom public, une fois). nix construit la source exacte de la release via le flake du repo ; le premier run compile, le store met en cache.

    cargo binstall --git https://github.com/supernovae-st/nika nika-cli
    nix run github:supernovae-st/nika
  3. 03 · manuel

    Air-gapped, ou à la main

    Télécharge le tarball de ta plateforme et SHA256SUMS depuis la dernière release, vérifie, puis place nika sur ton PATH. Rien ne téléphone à la maison.

    sha256sum -c SHA256SUMS --ignore-missing
  4. 04 · éditeur

    L'extension éditeur

    supernovae.nika-lang · sur le VS Code Marketplace et Open VSX (Cursor · Windsurf · VSCodium). Elle télécharge le binaire nika de la release correspondante au premier usage, ou réutilise celui déjà sur ton PATH. Tout autre éditeur : nika lsp parle LSP sur stdio · source + issues.

  5. 05 · agents

    Travaille avec tes agents

    Nika est conçu pour être écrit par des agents et relu par toi. nika init dépose le câblage du schema + AGENTS.md dans ton repo pour que Claude Code, Cursor, Codex et les autres écrivent des workflows valides du premier coup ; nika wire ajoute le câblage agent-tool (MCP) explicite là où tu le veux.

    nika init
    nika wire cursor
  6. 06 · premier run

    Zéro clé, zéro cloud

    Commence par nika welcome, le miroir : ce que cette machine a déjà (éditeurs · modèles locaux · présence des clés, jamais leurs valeurs) et où aller ensuite. Ton premier workflow n'a besoin ni de modèle ni de clé API. Sauve le fichier, audite-le avec nika check (plan · coût · secrets, avant que rien ne tourne), puis nika run. Tu ajoutes une étape IA ? Pointe-la sur un modèle local gratuit (un ollama pull, rien ne quitte ta machine), et nika doctor te dit exactement ce qui est câblé.

    nika welcome
    nika check hello.nika.yaml
    nika run hello.nika.yaml
    ollama pull llama3.2:3b
    nika examples run 01-hello --model ollama/llama3.2:3b
    nika doctor
    hello.nika.yaml
    nika: v1workflow:  id: hellotasks:  greet:    exec:      command: ["echo", "hello", "from", "nika"]
    ce que tu devrais voir
    nika check hello.nika.yamlnika check · hello.nika.yaml  PLAN     1 wave · 1 task · max parallelism 1      wave 1 greet (exec · echo)  COST     no inference tasks · $0.00  SECRETS  no information-flow escapes  TYPES    every deep output reference fits its declared shape  TOOLS    every nika: tool names a canonical builtin  ARGS     every invoke arg key is declared + every required arg is present  SCHEMA   every authored schema: is satisfiable ○ PERMITS  no boundary declared (engine floor only) · `--infer-permits` writes one ↳ HINT     [permits] no `permits:` boundary declared — run `nika check --infer-permits` to generate the tightest one (default-deny once present)  audited · 1 task · 1 wave · permits none · est ≥$0.0000 · 1 hintnika run hello.nika.yaml  🦋 nika · hello · 1 task     permits ✓ engine floor (no boundary declared)    greet  exec · echo  4ms  ── 1/1 done · $0.00 · elapsed 0.0s ─────────────────────────────    trace: .nika/traces/2026-07-17T21-39-47Z-042f.ndjson · 5 events · chain e7a49a00ceacdc481547021c582c25066cc8f0ccdda4b54bedf71195dde8770d

    real output · nika 0.105.0 · nika check hello.nika.yaml · re-captured at every release

    hello-ai.nika.yaml
    nika: v1workflow:  id: hello-aimodel: ollama/llama3.2:3b   # local · free · swap for any provider in the catalogtasks:  greet:    infer:      prompt: "Say hello in one sentence."

si quelque chose accroche

command not found: nika (après le script d'install)

Le script installe dans ~/.nika/bin et imprime la ligne PATH exacte à ajouter à ton profil shell (~/.zshrc, ~/.bashrc). Ajoute-la, rouvre le terminal, et nika --version répond.

export PATH="$HOME/.nika/bin:$PATH"
macOS bloque le binaire (tarball manuel uniquement)

Un binaire téléchargé à la main porte le flag quarantine ; brew et le script d'install non. Retire-le une fois, ou clic droit → Ouvrir.

xattr -d com.apple.quarantine ./nika
derrière un proxy d'entreprise

Le script d'install est du curl pur ; il honore les variables proxy standard pour le téléchargement. Le binaire lui-même ne téléphone nulle part.

HTTPS_PROXY=http://proxy:8080 curl -LsSf https://nika.sh/install.sh | sh
checksum mismatch sur le tarball

Un mismatch signifie un téléchargement corrompu ou trafiqué. Ne le lance pas. Retélécharge le tarball et SHA256SUMS depuis la page de release et vérifie à nouveau.

sha256sum -c SHA256SUMS --ignore-missing

Ensuite : apprends le fichier en 5 minutes · parcours des workflows réels · docs complètes