install · v0.116.2
Un binario. Tu máquina.
Instala. Un comando. Corre.
Ya tienes Claude Code o Codex. Sin clave API, sin modelo que descargar. Nika es un solo binario Rust: sin daemon, sin cuenta. Instálalo, luego nika new hello.
macOS · Linux · air-gapped OK
01 · homebrew
El one-liner
macOS o Linux con Homebrew: en tu
PATHde inmediato. Compruébalo connika --version.lo que deberías vernika --versionnika 0.116.2 (c4cdbeafb)
real output · nika 0.116.2 · nika --version · re-captured at every release
02 · script
Sin Homebrew
Descarga el binario de release verificado en
~/.nika/bine imprime la única líneaPATHque añadir a tu perfil de shell. Reabre la terminal ynika --versionresponde.curl -LsSf https://nika.sh/install.sh | sh¿Ya llevas una toolchain? cargo trae el tarball de release precompilado, sin compilar (el binario llega como
nika-clihasta la publicación en crates.io: un symlink al nombre público, una vez). nix construye la source exacta de la release vía el flake del repo; el primer run compila, el store la cachea.cargo binstall --git https://github.com/supernovae-st/nika nika-clinix run github:supernovae-st/nika03 · manual
Air-gapped, o a mano
Descarga el tarball de tu plataforma y
SHA256SUMSdesde la última release, verifica, y muevenikaa tuPATH. Nada llama a casa.sha256sum -c SHA256SUMS --ignore-missing04 · editor
La extensión del editor
supernovae.nika-lang· en el VS Code Marketplace y Open VSX (Cursor · Windsurf · VSCodium). Descarga automáticamente el binarionikade la release correspondiente en el primer uso, o reutiliza el que ya está en tuPATH. ¿Cualquier otro editor?nika lsphabla LSP sobre stdio · source + issues.05 · agentes
Trabaja con tus agentes
Nika está hecho para ser escrito por agentes y revisado por ti.
nika initdeja el cableado del schema +AGENTS.mden tu repo para que Claude Code, Cursor, Codex y compañía escriban workflows válidos a la primera;nika wireañade cableado agent-tool (MCP) explícito donde tú quieras.nika initnika wire cursor06 · primer run
Cero claves, cero descarga
Empieza con
nika welcome, el espejo: lo que esta máquina ya tiene (editores · presencia de claves, nunca valores) y la línea Next. En la release actual esa línea esnika new hello. Offline, cero claves, nada escrito, en un segundo. Un ensayo, no una respuesta facturada. Para guardar un archivo:nika new snippets/hello, luegonika checkynika run. Un modelo local o una clave cloud va después, no primero.nika doctornombra lo que ya está cableado.nika welcomenika new hellonika check hello.nika.yamlnika run hello.nika.yamlnika doctorlo que deberías vernika 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"]lo que deberías vernika 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 algo se atasca
command not found: nika (después del script de instalación)
El script instala en ~/.nika/bin e imprime la línea PATH exacta que añadir a tu perfil de shell (~/.zshrc, ~/.bashrc). Añádela, reabre la terminal, y nika --version responde.
export PATH="$HOME/.nika/bin:$PATH"macOS bloquea el binario (solo tarball manual)
Un binario descargado a mano lleva el flag de quarantine; brew y el script de instalación no. Quítalo una vez, o clic derecho → Abrir.
xattr -d com.apple.quarantine ./nikadetrás de un proxy corporativo
El script de instalación es curl puro; respeta las variables proxy estándar para la descarga. El binario en sí no llama a ninguna parte.
HTTPS_PROXY=http://proxy:8080 curl -LsSf https://nika.sh/install.sh | shchecksum mismatch en el tarball
Un mismatch significa una descarga corrupta o manipulada. No lo ejecutes. Vuelve a descargar el tarball y SHA256SUMS desde la página de release y verifica de nuevo.
sha256sum -c SHA256SUMS --ignore-missingSiguiente: aprende el archivo en 5 minutos · explora workflows reales · docs completas