nekolas note
3.3 KB Raw
# 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)