AGPL-3.0-or-later · forever.

install · v0.111.0

バイナリひとつ。きみのマシンで。

最初の run まで 2 分。

Nika は Rust バイナリひとつ。daemon なし、アカウント不要、cloud も 必須ではない。下から入り口を選んで、無料のローカルモデルで最初の ファイルを動かそう。

macOS · Linux · air-gapped OK

  1. 01 · homebrew

    ワンライナー

    Homebrew のある macOS / Linux なら、すぐに PATH に載る。 nika --version で確認。

    表示されるはずのもの
    nika --versionnika 0.111.0 (25f502adb)

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

  2. 02 · script

    Homebrew なしで

    検証済みの release バイナリ~/.nika/bin にダウンロードし、 シェルプロファイルに足す PATH の 1 行を表示する。ターミナルを 開き直せば nika --version が答える。

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

    toolchain がすでにあるなら: cargo はビルド済みの release tarball を 取ってくる。コンパイル不要(crates.io 公開までバイナリ名は nika-cli。 公開名への symlink を一度だけ張る)。nix はリポジトリの flake から release のソースをそのままビルドする。初回 run はコンパイル、store が キャッシュする。

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

    air-gapped でも、手作業でも

    最新 release からプラットフォームの tarball と SHA256SUMS を ダウンロードして検証し、nikaPATH に置く。 どこにも通信しない。

    sha256sum -c SHA256SUMS --ignore-missing
  4. 04 · エディタ

    エディタ拡張

    supernovae.nika-lang · VS Code MarketplaceOpen VSX にある (Cursor · Windsurf · VSCodium)。初回使用時に対応する nika release バイナリを自動ダウンロード、PATH 上の既存バイナリがあればそれを 使う。他のエディタなら: nika lsp が stdio で LSP を話す · source + issues

  5. 05 · エージェント

    エージェントと一緒に

    Nika はエージェントが書き、きみがレビューするために作られている。 nika init が schema の配線と AGENTS.md をリポジトリに置き、 Claude Code · Cursor · Codex たちが一発で valid な workflow を書ける ようにする。nika wire は agent-tool(MCP)の明示的な配線を、 欲しい場所にだけ足す。

    nika init
    nika wire cursor
  6. 06 · 最初の run

    キーゼロ、cloud ゼロ

    まず nika welcome、鏡だ: このマシンに何があるか(エディタ · ローカルモデル · キーの有無だけ、値は決して見ない)と、次に 行く場所。最初の workflow にモデルも API キーも要らない。ファイルを 保存し、nika check で監査(plan · コスト · secrets を、何かが 動く前に)、それから nika run。AI ステップを足すなら 無料のローカルモデルへ(ollama pull ひとつ、マシンから何も 出ない)。nika doctor が配線済みのものを正確に教えてくれる。

    nika welcome
    nika check hello.nika.yaml
    nika run hello.nika.yaml
    ollama pull llama3.2:3b
    nika try 01-hello --model ollama/llama3.2:3b
    nika doctor
    hello.nika.yamlsource
    # first file after install · one exec, zero setup, zero keysnika: hellopermits:  exec: ["echo"]tasks:  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 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  EXEC     no literal argv the exec floor refuses at run · a templated argv is the RUN's verdict  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 a cloud destination  audited · 1 task · 1 wave · permits declared · 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  9ms  ── 1/1 done · $0.00 · elapsed 0.0s ─────────────────────────────    trace: .nika/traces/2026-08-18T23-26-42Z-0a8e.ndjson · 7 events · chain a145a48cf0d995069384cbd8332a067c01d7490f78190897cd6bdf46f40b90b6

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

    hello-ai.nika.yamlsource
    # first model call · one local seat, one bounded sentencenika: hello-aimodel: ollama/llama3.2:3b   # local · zero key · swap for any provider in the catalogpermits: {}tasks:  greet:    infer:      prompt: "Say hello in one sentence."      max_tokens: 64outputs:  greeting: ${{ tasks.greet.output }}

引っかかったら

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 | sh
tarball の checksum mismatch

mismatch は破損か改ざんされたダウンロードの印。実行しないこと。 release ページから tarball と SHA256SUMS を取り直して再検証する。

sha256sum -c SHA256SUMS --ignore-missing

次へ: 5 分でファイルを学ぶ · 実物の workflow を見る · フルドキュメント