# claude-zed-tmux — Zed / tmux 向け Claude Code 統合
[Claude Code](https://claude.com/claude-code) を **[Zed](https://zed.dev) エディタ + tmux** の
環境で快適に使うためのツール集です。Claude Code プラグイン2つと Zed 拡張1つで構成されています。
## 何ができるか
**tmux のタブを見れば Claude の状態が分かる**(cc-tmux)
- Claude が考え中・作業中のあいだ、そのタブ名が**赤くなりスピナーが回る**。
終わると元の色に戻る — 別タブで作業していても、いつ返事が来たか一目で分かる
- タブ名が Claude のセッション名に自動追従する。`/rename` すれば即座にタブ名も変わる
- 常駐デーモンなし。Claude Code の hooks によるイベント駆動で、tmux の外では何もしない
**Zed で Claude Code の IDE 連携(`/ide`)が使える**(zed-cc-ide)
- いま開いているファイル・カーソル位置・選択範囲が Claude に継続的に伝わる。
「この関数を直して」の「この」が通じるようになる
- VS Code 拡張と同じ公式プロトコル(lockfile + WebSocket 上の MCP)を Zed で実装
- おまけの死活監視プラグイン(cc-ide-plugin)が、接続の妨げになる古い lockfile を
Claude Code 起動時に自動で掃除する
## 必要なもの
- macOS
- cc-tmux: tmux ≥ 3.2、jq
- zed-cc-ide: Zed、rustup の Rust ツールチェイン(拡張をソースからビルドするため)
## インストール
### 1. Claude Code プラグイン(cc-tmux / cc-ide)
このリポジトリ自体がローカル marketplace になっています。clone して Claude Code 内で:
```text
/plugin marketplace add <このリポジトリのパス>
/plugin install cc-tmux@claude-zed-tmux
/plugin install cc-ide@claude-zed-tmux
```
これだけで hooks と tmux の表示設定は自動で入ります。`settings.json` や
`~/.tmux.conf` を手で編集する必要はありません。
tmux 内で Claude Code を起動すれば、busy で赤+スピナーが動き出します。
詳細・アンインストール手順は [`cc-tmux/README.md`](./cc-tmux/README.md) へ。
### 2. Zed 拡張(`/ide` 連携を使う場合)
```sh
cd zed-cc-ide
./scripts/install-zed-extension.sh
```
その後 Zed でファイルを開き、Claude Code で `/ide` → Zed を選択。
手動導入やつまずいたときの対処は [`zed-cc-ide/README.md`](./zed-cc-ide/README.md) へ。
## リポジトリ構成
| ディレクトリ | 中身 |
|--------------|------|
| [`cc-tmux/`](./cc-tmux/) | busy/idle 表示+タブ名連動(シェルスクリプト、bats テスト付き) |
| [`zed-cc-ide/`](./zed-cc-ide/) | Zed 拡張(WASM)と cc-ide-server(Rust) |
| [`cc-ide-plugin/`](./cc-ide-plugin/) | cc-ide-server の死活監視・lockfile 掃除 |
| [`docs/`](./docs/) | tmux タブ表示スタイルの仕様 |
## 開発
```sh
# シェル側テスト(bats)
cc-tmux/tests/run.sh
# Rust 側テスト
cd zed-cc-ide && PATH="$HOME/.cargo/bin:$PATH" cargo test --workspace
```
Rust のビルド・テストは、Homebrew の rustc と混在しないよう
`PATH="$HOME/.cargo/bin:$PATH"` を前置して実行してください。
## ライセンス
[MIT](./LICENSE)