install · v0.116.2
Um binário. Sua máquina.
Instale. Um comando. Roda.
Você já tem Claude Code ou Codex. Sem chave de API, sem modelo para baixar. Nika é um único binário Rust: sem daemon, sem conta. Instale, depois nika new hello.
macOS · Linux · air-gapped OK
01 · homebrew
O one-liner
macOS ou Linux com Homebrew: no seu
PATHna hora. Confira comnika --version.o que você deve vernika --versionnika 0.116.2 (c4cdbeafb)
real output · nika 0.116.2 · nika --version · re-captured at every release
02 · script
Sem Homebrew
Baixa o binário de release verificado em
~/.nika/bine imprime a única linhaPATHpara adicionar ao seu perfil de shell. Reabra o terminal enika --versionresponde.curl -LsSf https://nika.sh/install.sh | shJá carrega uma toolchain? O cargo busca o tarball de release pré-compilado, sem compilar (o binário chega como
nika-cliaté a publicação no crates.io: um symlink para o nome público, uma vez). O nix constrói a source exata da release via o flake do repo; o primeiro run compila, o store guarda em cache.cargo binstall --git https://github.com/supernovae-st/nika nika-clinix run github:supernovae-st/nika03 · manual
Air-gapped, ou na mão
Baixe o tarball da sua plataforma e o
SHA256SUMSda última release, verifique, e mova onikapara o seuPATH. Nada liga para casa.sha256sum -c SHA256SUMS --ignore-missing04 · editor
A extensão do editor
supernovae.nika-lang· no VS Code Marketplace e no Open VSX (Cursor · Windsurf · VSCodium). Ela baixa automaticamente o binárionikada release correspondente no primeiro uso, ou reutiliza o que já está no seuPATH. Qualquer outro editor:nika lspfala LSP por stdio · source + issues.05 · agentes
Trabalhe com os seus agentes
Nika foi feito para ser escrito por agentes e revisado por você.
nika initcoloca o wiring do schema +AGENTS.mdno seu repo para que Claude Code, Cursor, Codex e companhia escrevam workflows válidos de primeira;nika wireadiciona wiring agent-tool (MCP) explícito onde você quiser.nika initnika wire cursor06 · primeiro run
Zero chaves, zero download
Comece com
nika welcome, o espelho: o que esta máquina já tem (editores · presença de chaves, nunca valores) e a linha Next. Na release atual essa linha énika new hello. Offline, zero chaves, nada escrito, em um segundo. Um ensaio, não uma resposta cobrada. Para guardar um arquivo:nika new snippets/hello, depoisnika checkenika run. Um modelo local ou uma chave cloud vem depois, não primeiro.nika doctornomeia o que já está ligado.nika welcomenika new hellonika check hello.nika.yamlnika run hello.nika.yamlnika doctoro que você deve 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"]o que você deve 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 }}
se algo travar
command not found: nika (depois do script de instalação)
O script instala em ~/.nika/bin e imprime a linha PATH exata para adicionar ao seu perfil de shell (~/.zshrc, ~/.bashrc). Adicione, reabra o terminal, e nika --version responde.
export PATH="$HOME/.nika/bin:$PATH"macOS bloqueia o binário (só tarball manual)
Um binário baixado na mão carrega a flag de quarantine; brew e o script de instalação, não. Remova uma vez, ou clique direito → Abrir.
xattr -d com.apple.quarantine ./nikaatrás de um proxy corporativo
O script de instalação é curl puro; ele respeita as variáveis proxy padrão para o download. O binário em si não liga para lugar nenhum.
HTTPS_PROXY=http://proxy:8080 curl -LsSf https://nika.sh/install.sh | shchecksum mismatch no tarball
Um mismatch significa download corrompido ou adulterado. Não execute. Baixe de novo o tarball e o SHA256SUMS da página da release e verifique outra vez.
sha256sum -c SHA256SUMS --ignore-missingPróximo: aprenda o arquivo em 5 minutos · veja workflows reais · docs completas