fix: rename installed binaries

This commit is contained in:
2026-05-29 09:28:31 +09:00
parent ee4ccba591
commit 0b23aa8191
18 changed files with 99 additions and 74 deletions
+9 -9
View File
@@ -10,12 +10,12 @@ From the repository root:
nix build .#
```
The default package is implemented by `package.nix` and builds the Cargo workspace binaries `pod` and `tui`. The derivation uses the checked-in `Cargo.lock`, so Cargo dependencies are fetched by the normal Nix Rust packaging path instead of by network access during the build.
The default package is implemented by `package.nix` and builds the Cargo packages `pod` and `tui` as installed binaries `insomnia-pod` and `insomnia`. The derivation uses the checked-in `Cargo.lock`, so Cargo dependencies are fetched by the normal Nix Rust packaging path instead of by network access during the build.
The package output contains:
- `bin/pod` — Pod CLI / runtime process.
- `bin/tui` — terminal UI.
- `bin/insomnia-pod` — Pod CLI / runtime process.
- `bin/insomnia` — terminal UI.
- `share/insomnia/resources/` — bundled runtime resources, including `resources/prompts/`.
- `share/doc/insomnia/nix.md` — this document.
@@ -24,15 +24,15 @@ The package output contains:
After `nix build`:
```sh
./result/bin/pod --help
./result/bin/tui
./result/bin/insomnia-pod --help
./result/bin/insomnia
```
With flakes:
```sh
nix run .#tui
nix run .#pod -- --help
nix run .#insomnia
nix run .#insomnia-pod -- --help
```
`nix run .#` defaults to the TUI.
@@ -53,8 +53,8 @@ The Nix package does not put user configuration, sessions, sockets, or other mut
The package derivation has a credential-free install check that verifies:
- `pod --help` starts successfully.
- `tui` is installed and reaches argument parsing.
- `insomnia-pod --help` starts successfully.
- `insomnia` is installed and reaches argument parsing.
- bundled prompt resources and this Nix usage document are present in the output.
For full validation before handing changes to review, run:
+4 -4
View File
@@ -172,7 +172,7 @@ unique であれば workspace を指定しなくて済む。
## Daemon-less リモート Pod 生成(SSH-only モデル)
リモートホスト上の Pod 生成は **daemon 無しで SSH だけで成立する**。
remote 側に必要なのは `pod` バイナリと SSH アクセスのみ。
remote 側に必要なのは `insomnia-pod` バイナリと SSH アクセスのみ。
### 前提
@@ -182,7 +182,7 @@ remote 側に必要なのは `pod` バイナリと SSH アクセスのみ。
- insomnia が転送するのは**セッション(会話履歴)と manifest overlay**
だけ。コードベースの同期は外部に委ねる
- コンテナ内で動かすか bare metal で動かすかも insomnia は問わない。
`pod` バイナリが動くホストの fs 上で活動する主体がある、
`insomnia-pod` バイナリが動くホストの fs 上で活動する主体がある、
それだけが前提
### フロー
@@ -193,7 +193,7 @@ host_a (spawner) host_b (remote)
├── ssh: session データを転送 ────────→ ファイル書き込み
├── ssh: overlay TOML を転送 ─────────→ ファイル書き込み
├── ssh: `pod --overlay ... &` ───────→ Pod プロセス起動、socket 作成
├── ssh: `insomnia-pod --overlay ... &` ───────→ Pod プロセス起動、socket 作成
├── ssh -L: socket を tunnel ─────────→ Pod B の unix socket
└── localhost:tunnel に接続 ──────────→ Method::Run / Event stream
@@ -209,7 +209,7 @@ tar cz session/ | ssh insomnia@host-b "tar xz -C ~/workspaces/task-123/store"
echo "$OVERLAY" | ssh insomnia@host-b "cat > ~/workspaces/task-123/overlay.toml"
# 2. Pod を起動(detach
ssh insomnia@host-b "pod --store ~/workspaces/task-123/store \
ssh insomnia@host-b "insomnia-pod --store ~/workspaces/task-123/store \
--overlay ~/workspaces/task-123/overlay.toml &"
# 3. socket を tunnel で引っ張る
+7 -7
View File
@@ -56,7 +56,7 @@ manifest 中のパス(`model.auth.file` / `scope.*.target` /
Pod の作業ディレクトリは manifest に含まれない。プロセス起動時の
`std::env::current_dir()` がそのまま Pod の pwd となるため、別の作業
ディレクトリで Pod を走らせたい場合は `cd` してから `pod` を起動する
ディレクトリで Pod を走らせたい場合は `cd` してから `insomnia-pod` を起動する
(または `SpawnPod` が子に対して行っているように、親プロセス側で
`Command::current_dir` を明示する)。
@@ -297,12 +297,12 @@ import-map 形式のプレフィックスで指定する:
---
## `pod` CLI
## `insomnia-pod` CLI
`pod` は通常、builtin default → user manifest → project manifest → overlay の cascade で manifest を解決して起動する。
`insomnia-pod` は通常、builtin default → user manifest → project manifest → overlay の cascade で manifest を解決して起動する。
```
pod [--project <path>] [--overlay <toml>] [-s/--store <path>] [--session <uuid>]
insomnia-pod [--project <path>] [--overlay <toml>] [-s/--store <path>] [--session <uuid>]
```
| フラグ | 説明 |
@@ -323,15 +323,15 @@ user manifest は CLI フラグではなく、以下の規則で解決する。
単一ファイルだけで起動したい場合は cascade を使わず、`--manifest` を指定する。
```
pod --manifest <path> [-s/--store <path>] [--session <uuid>]
insomnia-pod --manifest <path> [-s/--store <path>] [--session <uuid>]
```
`--manifest` は指定 TOML 1 枚だけを `PodManifest::from_toml` で読み、user / project / overlay layer は一切読まない。したがって `--project``--overlay`、非空の `INSOMNIA_USER_MANIFEST` とは併用不可。
spawn 子 Pod 用の内部フラグとして `--adopt``--callback <path>` がある。これらは `SpawnPod` が scope allocation と親 callback socket を引き継がせるために使うもので、通常の手動起動では使わない。
Pod の作業ディレクトリは `pod` 起動時の cwd が直接使われる。別ディレクトリで
動かしたい場合は `cd <path> && pod ...` のように外側で `cd` してから起動する。
Pod の作業ディレクトリは `insomnia-pod` 起動時の cwd が直接使われる。別ディレクトリで
動かしたい場合は `cd <path> && insomnia-pod ...` のように外側で `cd` してから起動する。
引数無しで起動すると、cwd + `manifest::paths` の自動解決だけで動く最小構成になる
(overlay 無し、プロジェクトに `.insomnia/manifest.toml` があればそれを使う)。
+1 -1
View File
@@ -111,7 +111,7 @@ Running 中に割り込みたい場合、ほとんどのケースで `Ctrl-C`(
`Ctrl-X` は Running 中だけ Cancel、Idle / Paused では Shutdown。`Ctrl-C` は Running 中だけ Pod に `Method::Pause` を送り、それ以外では Pod は落とさず TUI プロセスだけ抜ける。`Ctrl-D` は常に Pod へ制御メソッドを送らず TUI プロセスだけ抜ける。
TUI のダイアログから Pod を起動する経路では、起動した Pod は TUI の子プロセスとして管理・終了されず、独立したプロセスとして残る。TUI 終了後は `tui <pod-name>` で再接続できる。
TUI のダイアログから Pod を起動する経路では、起動した Pod は TUI の子プロセスとして管理・終了されず、独立したプロセスとして残る。TUI 終了後は `insomnia <pod-name>` で再接続できる。
## 履歴メモ