install · v0.116.2
Un binaire. Ta machine.
Installe. Une commande. Ça tourne.
Tu as déjà Claude Code ou Codex. Pas de clé API, pas de modèle à télécharger. Nika, c'est un seul binaire Rust : pas de daemon, pas de compte. Installe-le, puis nika new hello.
macOS · Linux · air-gapped OK
01 · homebrew
La one-liner
macOS ou Linux avec Homebrew : sur ton
PATHimmédiatement. Vérifie avecnika --version.ce que tu devrais voirnika --versionnika 0.116.2 (c4cdbeafb)
real output · nika 0.116.2 · nika --version · re-captured at every release
02 · script
Sans Homebrew
Télécharge le binaire de release vérifié dans
~/.nika/binet imprime l'unique lignePATHà ajouter à ton profil shell. Rouvre le terminal etnika --versionrépond.curl -LsSf https://nika.sh/install.sh | shUne 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-clijusqu'à 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-clinix run github:supernovae-st/nika03 · manuel
Air-gapped, ou à la main
Télécharge le tarball de ta plateforme et
SHA256SUMSdepuis la dernière release, vérifie, puis placenikasur tonPATH. Rien ne téléphone à la maison.sha256sum -c SHA256SUMS --ignore-missing04 · éditeur
L'extension éditeur
supernovae.nika-lang· sur le VS Code Marketplace et Open VSX (Cursor · Windsurf · VSCodium). Elle télécharge le binairenikade la release correspondante au premier usage, ou réutilise celui déjà sur tonPATH. Tout autre éditeur :nika lspparle LSP sur stdio · source + issues.05 · agents
Travaille avec tes agents
Nika est conçu pour être écrit par des agents et relu par toi.
nika initdépose le câblage du schema +AGENTS.mddans ton repo pour que Claude Code, Cursor, Codex et les autres écrivent des workflows valides du premier coup ;nika wireajoute le câblage agent-tool (MCP) explicite là où tu le veux.nika initnika wire cursor06 · premier run
Zéro clé, zéro téléchargement
Commence par
nika welcome, le miroir : ce que cette machine a déjà (éditeurs · présence des clés, jamais leurs valeurs) et la ligne Next. Sur la release courante cette ligne estnika new hello. Hors ligne, zéro clé, rien d'écrit, une seconde. Une répétition, pas une réponse facturée. Pour garder un fichier :nika new snippets/hello, puisnika checketnika run. Un modèle local ou une clé cloud vient après, pas en premier.nika doctornomme ce qui est déjà câblé.nika welcomenika new hellonika check hello.nika.yamlnika run hello.nika.yamlnika doctorce que tu devrais voirnika new hellowrote hello.nika.yaml · nika run hello.nika.yamlnika run hello.nika.yaml 🦋 nika · hello · 1 task permits ✓ declared boundary · default-deny ✔ greet infer · mock/echo 0ms ── 1/1 done · ≥ $0.00 (1 unpriced) · elapsed 0.0s ────────────── wrote .nika/traces said "mock(echo) · Say hello in French, in one sh…" see it whole: nika trace outputs rehearsal · a mock model echoed the prompt — not a real answer trace: .nika/traces/<this run> · 5 events · chain <hash-chained>
real output · nika 0.116.2 · nika new hello · re-captured at every release
hello.nika.yamlsource# first file after install · one exec, zero setup, zero keysnika: hellopermits: exec: ["echo"]tasks: greet: exec: command: ["echo", "hello", "from", "nika"]ce que tu devrais voirnika check hello.nika.yamlnika check · hello.nika.yaml ✔ PLAN 1 wave · 1 task · max parallelism 1 wave 1 greet (exec · echo) ✔ COST no infer/agent tasks · $0.00 · exec + mcp spend unpriced ✔ SECRETS no declared secret reaches an effect · model echo untracked ✔ TYPES deep references fit the shapes tasks declare · builtin output has none ✔ TOOLS every named nika: tool is canonical · globs + mcp: not checked ✔ ARGS every builtin invoke arg key is declared + required args present ✔ SCHEMA no known-unsatisfiable form in an authored schema: · $ref opaque ✔ GATES no task proven dead · status literals in vocabulary ✔ WRITES no two unordered tasks write the same static path · computed paths at run · engine writes .nika/traces ✔ EXEC no literal argv the exec floor refuses at run · a templated argv is the RUN's verdict ✔ ORDER no exec: sits downstream of a net-effecting task · unauthored content never reaches a shell ✔ PERMITS literal + const: args fit the boundary · computed paths + symlinks are the RUN's verdict · exec outside the fs bounds ✔ TRIFECTA no lethal trifecta over the declared permits: without a human gate ✔ JOURNEY internal · 0 sources · 1 destination · 0 model endpoints · no secret reaches an external destination ✔ audited · 1 task · 1 wave · permits exec:echo · est out ≤$0.0000 · 0 hints · risk supervisednika run hello.nika.yaml 🦋 nika · hello · 1 task permits ✓ declared boundary · exec outside the fs bounds ✔ greet exec · echo 8ms ── 1/1 done · $0.00 · elapsed 0.0s ───────────────────────────── wrote .nika/traces trace: .nika/traces/2026-09-01T00-31-01Z-cd68.ndjson · 8 events · chain 93c13fc0b1070dce8597db1950c93b0522336270451ef3b1bd51a5da9a4d12e0 · sealed
real output · nika 0.116.2 · nika check hello.nika.yaml · re-captured at every release
hello-ai.nika.yamlsource# first infer · mock rehearsal · zero keys · zero downloadnika: hello-aimodel: mock/echopermits: {}tasks: greet: infer: prompt: "Say hello in one sentence." max_tokens: 64outputs: greeting: ${{ tasks.greet.output }}
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 ./nikaderriè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 | shchecksum 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-missingEnsuite : apprends le fichier en 5 minutes · parcours des workflows réels · docs complètes