install · v0.105.0
바이너리 하나. 너의 머신.
첫 run까지 2분.
Nika는 Rust 바이너리 하나다. daemon 없음, 계정 없음, cloud 필수 아님. 아래에서 들어갈 문을 고르고 무료 로컬 모델로 첫 파일을 실행해 보자.
macOS · Linux · air-gapped OK
01 · homebrew
원라이너
Homebrew가 있는 macOS 또는 Linux: 바로
PATH에 올라간다.nika --version으로 확인.이렇게 보여야 한다nika --versionnika 0.105.0
real output · nika 0.105.0 · nika --version · re-captured at every release
02 · script
Homebrew 없이
검증된 release 바이너리를
~/.nika/bin에 내려받고, 셸 프로필에 추가할PATH한 줄을 출력한다. 터미널을 다시 열면nika --version이 답한다.curl -LsSf https://nika.sh/install.sh | shtoolchain이 이미 있다면: cargo는 미리 빌드된 release tarball을 가져온다. 컴파일 없음 (crates.io publish 전까지 바이너리 이름은
nika-cli: 공개 이름으로 symlink 한 번). nix는 repo flake로 release 소스를 그대로 빌드한다. 첫 run은 컴파일하고, store가 캐시한다.cargo binstall --git https://github.com/supernovae-st/nika nika-clinix run github:supernovae-st/nika03 · 수동
air-gapped, 또는 직접
최신 release에서 플랫폼 tarball과
SHA256SUMS를 내려받아 검증한 뒤nika를PATH에 놓는다. 아무 데도 연결하지 않는다.sha256sum -c SHA256SUMS --ignore-missing04 · 에디터
에디터 확장
supernovae.nika-lang· VS Code Marketplace와 Open VSX에 있다 (Cursor · Windsurf · VSCodium). 첫 사용 시 맞는nikarelease 바이너리를 자동으로 내려받거나,PATH에 이미 있는 것을 재사용한다. 다른 에디터라면:nika lsp가 stdio로 LSP를 말한다 · source + issues.05 · 에이전트
에이전트와 함께
Nika는 에이전트가 쓰고 네가 리뷰하도록 만들어졌다.
nika init이 schema 연결과AGENTS.md를 repo에 넣어 Claude Code, Cursor, Codex 들이 첫 시도에 valid한 workflow를 쓰게 하고,nika wire는 원하는 곳에만 명시적 agent-tool(MCP) 연결을 더한다.nika initnika wire cursor06 · 첫 run
키 제로, cloud 제로
nika welcome부터, 거울이다: 이 머신에 이미 있는 것들 (에디터 · 로컬 모델 · 키의 존재 여부만, 값은 절대 아님) 그리고 다음에 갈 곳. 첫 workflow에는 모델도 API 키도 필요 없다. 파일을 저장하고nika check로 감사한 뒤 (plan · 비용 · secrets, 무엇이든 돌기 전에)nika run. AI 스텝을 더한다면 무료 로컬 모델로 (ollama pull한 번, 머신 밖으로 아무것도 안 나간다),nika doctor가 무엇이 연결됐는지 정확히 알려준다.nika welcomenika check hello.nika.yamlnika run hello.nika.yamlollama pull llama3.2:3bnika examples run 01-hello --model ollama/llama3.2:3bnika doctorhello.nika.yamlnika: v1workflow: id: hellotasks: greet: exec: command: ["echo", "hello", "from", "nika"]이렇게 보여야 한다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.yamlnika: 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."
뭔가 걸린다면
command not found: nika (설치 스크립트 후)
스크립트는 ~/.nika/bin에 설치하고 셸 프로필(~/.zshrc, ~/.bashrc)에 추가할 정확한 PATH 줄을 출력한다. 추가하고 터미널을 다시 열면 nika --version이 답한다.
export PATH="$HOME/.nika/bin:$PATH"macOS가 바이너리를 차단 (수동 tarball만)
손으로 내려받은 바이너리는 quarantine 플래그가 붙는다. brew와 설치 스크립트는 안 붙는다. 한 번 지우거나, 우클릭 → 열기.
xattr -d com.apple.quarantine ./nika회사 proxy 뒤에서
설치 스크립트는 순수 curl이다. 다운로드에 표준 proxy 변수를 그대로 쓴다. 바이너리 자체는 어디에도 연결하지 않는다.
HTTPS_PROXY=http://proxy:8080 curl -LsSf https://nika.sh/install.sh | shtarball checksum mismatch
mismatch는 손상되었거나 변조된 다운로드라는 뜻이다. 실행하지 말 것. release 페이지에서 tarball과 SHA256SUMS를 다시 받아 재검증한다.
sha256sum -c SHA256SUMS --ignore-missing다음: 5분 만에 파일 배우기 · 실제 workflow 둘러보기 · 전체 문서