@hummer98/cmux-team 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +21 -0
- package/.claude-plugin/plugin.json +15 -0
- package/CHANGELOG.md +279 -0
- package/LICENSE +21 -0
- package/README.ja.md +238 -0
- package/README.md +158 -0
- package/bin/cmux-team.js +29 -0
- package/bin/postinstall.js +26 -0
- package/commands/master.md +8 -0
- package/commands/start.md +42 -0
- package/commands/team-archive.md +63 -0
- package/commands/team-design.md +199 -0
- package/commands/team-disband.md +79 -0
- package/commands/team-impl.md +201 -0
- package/commands/team-research.md +182 -0
- package/commands/team-review.md +222 -0
- package/commands/team-spec.md +133 -0
- package/commands/team-status.md +24 -0
- package/commands/team-sync-docs.md +127 -0
- package/commands/team-task.md +158 -0
- package/commands/team-test.md +230 -0
- package/package.json +51 -0
- package/skills/cmux-agent-role/SKILL.md +166 -0
- package/skills/cmux-team/SKILL.md +568 -0
- package/skills/cmux-team/manager/bun.lock +118 -0
- package/skills/cmux-team/manager/cmux.ts +134 -0
- package/skills/cmux-team/manager/conductor.ts +347 -0
- package/skills/cmux-team/manager/daemon.ts +373 -0
- package/skills/cmux-team/manager/e2e.ts +550 -0
- package/skills/cmux-team/manager/logger.ts +13 -0
- package/skills/cmux-team/manager/main.ts +756 -0
- package/skills/cmux-team/manager/master.ts +51 -0
- package/skills/cmux-team/manager/package.json +18 -0
- package/skills/cmux-team/manager/proxy.ts +219 -0
- package/skills/cmux-team/manager/queue.ts +73 -0
- package/skills/cmux-team/manager/schema.ts +84 -0
- package/skills/cmux-team/manager/task.ts +160 -0
- package/skills/cmux-team/manager/template.ts +92 -0
- package/skills/cmux-team/templates/architect.md +25 -0
- package/skills/cmux-team/templates/common-header.md +12 -0
- package/skills/cmux-team/templates/conductor-role.md +244 -0
- package/skills/cmux-team/templates/conductor-task.md +37 -0
- package/skills/cmux-team/templates/conductor.md +275 -0
- package/skills/cmux-team/templates/dockeeper.md +23 -0
- package/skills/cmux-team/templates/implementer.md +24 -0
- package/skills/cmux-team/templates/manager.md +199 -0
- package/skills/cmux-team/templates/master.md +94 -0
- package/skills/cmux-team/templates/researcher.md +24 -0
- package/skills/cmux-team/templates/reviewer.md +28 -0
- package/skills/cmux-team/templates/task-manager.md +22 -0
- package/skills/cmux-team/templates/tester.md +27 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "hummer98-cmux-team",
|
|
3
|
+
"owner": {
|
|
4
|
+
"name": "hummer98",
|
|
5
|
+
"email": "github@hummer98"
|
|
6
|
+
},
|
|
7
|
+
"plugins": [
|
|
8
|
+
{
|
|
9
|
+
"name": "cmux-team",
|
|
10
|
+
"source": "./",
|
|
11
|
+
"description": "Multi-agent development orchestration with Claude Code + cmux",
|
|
12
|
+
"version": "2.0.0",
|
|
13
|
+
"author": {
|
|
14
|
+
"name": "hummer98"
|
|
15
|
+
},
|
|
16
|
+
"repository": "https://github.com/hummer98/cmux-team",
|
|
17
|
+
"license": "MIT",
|
|
18
|
+
"keywords": ["cmux", "multi-agent", "orchestration", "parallel", "team"]
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "cmux-team",
|
|
3
|
+
"version": "3.0.0",
|
|
4
|
+
"description": "Multi-agent development orchestration with Claude Code + cmux. Spawn, monitor, and integrate parallel sub-agents visually in terminal panes.",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "hummer98",
|
|
7
|
+
"url": "https://github.com/hummer98"
|
|
8
|
+
},
|
|
9
|
+
"homepage": "https://github.com/hummer98/cmux-team",
|
|
10
|
+
"repository": "https://github.com/hummer98/cmux-team",
|
|
11
|
+
"license": "MIT",
|
|
12
|
+
"keywords": ["cmux", "multi-agent", "orchestration", "parallel", "team"],
|
|
13
|
+
"skills": "./skills/",
|
|
14
|
+
"commands": "./commands/"
|
|
15
|
+
}
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [3.0.0] - 2026-03-29
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
- npm パッケージとして配布開始 — `npm install -g @hummer98/cmux-team` でインストール可能に
|
|
7
|
+
- `cmux-team` CLI コマンド — シェルから直接 `cmux-team start` で daemon を起動
|
|
8
|
+
- `spawn-agent` に `--pane` オプション追加 — Conductor が自分の pane を直接指定し、Agent をタブとして確実に起動
|
|
9
|
+
- TUI ダッシュボードの Agent 欄に taskTitle を表示 — role のみだった表示にタスク名を追加
|
|
10
|
+
|
|
11
|
+
### Changed
|
|
12
|
+
- パッケージ名を `@hummer98/cmux-team` にスコープ変更
|
|
13
|
+
- `install.sh` と plugin cache フォールバックを削除(npm 配布に一本化)
|
|
14
|
+
- `prepublishOnly` スクリプト追加(publish 前にテスト実行)
|
|
15
|
+
- テストファイル (`*.test.ts`) を npm パッケージから除外
|
|
16
|
+
|
|
17
|
+
### Fixed
|
|
18
|
+
- 仕様書(docs/seeds/ + .team/specs/)を現状の実装に同期
|
|
19
|
+
|
|
20
|
+
## [2.19.0] - 2026-03-29
|
|
21
|
+
|
|
22
|
+
### Added
|
|
23
|
+
- タスク定義と状態の分離 — `tasks/` をフラット構造に変更し、`task-state.json` で状態を管理
|
|
24
|
+
|
|
25
|
+
### Fixed
|
|
26
|
+
- TUI ダッシュボード: `Sep` を `Box` でラップし全セクションの1行目空白バグを修正
|
|
27
|
+
- TUI ダッシュボード: Journal/Log のスペーストリム問題を修正
|
|
28
|
+
- `main.ts` / `proxy.test.ts` / `proxy.ts` の TypeScript コンパイルエラー修正
|
|
29
|
+
- `initInfra` の `.gitignore` テンプレートに `task-state.json` を追加
|
|
30
|
+
- テンプレート・コマンド・スクリプト・テストの `tasks/open`, `tasks/closed` 参照をフラット構造に更新
|
|
31
|
+
- `.claude/worktrees/` を git 管理外に変更
|
|
32
|
+
|
|
33
|
+
## [2.18.1] - 2026-03-29
|
|
34
|
+
|
|
35
|
+
### Fixed
|
|
36
|
+
- spawn-agent でプロキシの生存確認を行い、プロキシが死んでいる場合は `ANTHROPIC_BASE_URL` を設定せず直接 API 接続にフォールバック
|
|
37
|
+
- `.team/tasks/` を git 管理外にし、worktree マージ時にタスク状態が巻き戻る問題を防止
|
|
38
|
+
|
|
39
|
+
## [2.18.0] - 2026-03-29
|
|
40
|
+
|
|
41
|
+
### Added
|
|
42
|
+
- Conductor 起動時に `--append-system-prompt-file` でロール定義をシステムプロンプトに永続化。`/clear` 後もロール定義が維持される
|
|
43
|
+
|
|
44
|
+
### Fixed
|
|
45
|
+
- Conductor スロット初期化時のプロンプトを明確化。曖昧な待機指示により Conductor が自主的にタスクを検索・実行してしまう問題を防止
|
|
46
|
+
|
|
47
|
+
## [2.17.0] - 2026-03-29
|
|
48
|
+
|
|
49
|
+
### Added
|
|
50
|
+
- TODO メッセージを廃止し `create-task --status ready` に一本化。軽微な作業もタスクとして追跡可能に
|
|
51
|
+
|
|
52
|
+
### Fixed
|
|
53
|
+
- Agent 起動時の `--bare` フラグを除去。`--bare` が OAuth 認証をスキップし Claude Max 環境で API Usage Billing にフォールバックする問題を修正
|
|
54
|
+
- TUI ダッシュボードの Tasks セクションで open タスクが表示されない問題を修正。open タスクを優先表示し、残り枠で直近の closed タスクを表示するよう変更
|
|
55
|
+
- TUI ダッシュボードで長文タイトルが改行を引き起こしレイアウトが崩れる問題を修正
|
|
56
|
+
|
|
57
|
+
## [2.16.0] - 2026-03-29
|
|
58
|
+
|
|
59
|
+
### Added
|
|
60
|
+
- Conductor テンプレートに TaskCreate/TaskUpdate によるサブタスク管理を追加。Agent の起動・完了をタスクとして追跡可能に
|
|
61
|
+
- Master 起動時に `--append-system-prompt-file` でロール定義をシステムプロンプトに永続化
|
|
62
|
+
|
|
63
|
+
### Fixed
|
|
64
|
+
- Conductor 完了判定を done マーカーファイルのみに変更。interrupt 後に誤って done と判定される問題を修正
|
|
65
|
+
|
|
66
|
+
## [2.15.1] - 2026-03-29
|
|
67
|
+
|
|
68
|
+
### Fixed
|
|
69
|
+
- SKILL.md の Agent 起動手順を spawn-agent CLI に統一。旧手順(cmux new-surface で直接起動)が残っており、Conductor がプロキシ設定なしで Agent を起動してしまう問題を修正
|
|
70
|
+
|
|
71
|
+
## [2.15.0] - 2026-03-29
|
|
72
|
+
|
|
73
|
+
### Changed
|
|
74
|
+
- Conductor の Map キーを固定スロット ID(conductor-slot-1/2/3)に変更。タスク割り当てごとに ID が変わり Map エントリが重複蓄積する問題を解消
|
|
75
|
+
- 起動時の surface 分割順序を修正。全 split で daemon surface を明示指定し、フォーカス状態に依存しないレイアウト構築に変更
|
|
76
|
+
- 手動コマンド(/team-impl 等)から team.json 直接操作を削除し、daemon 管理に統一
|
|
77
|
+
- SKILL.md を TypeScript daemon ベースのアーキテクチャに合わせて全面更新
|
|
78
|
+
|
|
79
|
+
### Fixed
|
|
80
|
+
- daemon リロード時にプロキシポートを再利用。既存 Conductor の ANTHROPIC_BASE_URL が旧ポートのままハングする問題を修正
|
|
81
|
+
|
|
82
|
+
## [2.14.0] - 2026-03-29
|
|
83
|
+
|
|
84
|
+
### Added
|
|
85
|
+
- spawn-agent に `--prompt-file` オプションと `--bare` モードを追加。Agent 起動時のコンテキスト溢れを防止
|
|
86
|
+
|
|
87
|
+
### Fixed
|
|
88
|
+
- Conductor/Agent 起動時の環境変数が子プロセスに継承されず、Agent が API 認証エラー(Not logged in)になる問題を修正
|
|
89
|
+
|
|
90
|
+
## [2.13.0] - 2026-03-29
|
|
91
|
+
|
|
92
|
+
### Added
|
|
93
|
+
- デバッグ用 HTTP API: プロキシサーバーに `/state`, `/tasks`, `/conductors` エンドポイントを追加。Manager 内部状態を外部から JSON で取得可能に
|
|
94
|
+
- Surface 管理を固定 2x2 レイアウト + タブベースサブエージェントに再設計
|
|
95
|
+
|
|
96
|
+
### Fixed
|
|
97
|
+
- spawn-agent で Agent が worktree ではなくメインリポジトリで作業してしまう問題を修正
|
|
98
|
+
- TUI の Conductors/Tasks セクションで1行目が表示されないバグを修正
|
|
99
|
+
- YAML frontmatter パースで title のダブルクォートが除去されない問題を修正
|
|
100
|
+
- Conductor テンプレート変更に合わせて template.ts の正規表現を更新
|
|
101
|
+
|
|
102
|
+
## [2.12.0] - 2026-03-28
|
|
103
|
+
|
|
104
|
+
### Added
|
|
105
|
+
- CLI `create-task` コマンド: ID 自動採番・タスクファイル生成・Manager 通知を一括実行
|
|
106
|
+
- 完了 Conductor を TUI に表示継続: surface 消失時に自動削除
|
|
107
|
+
- Conductor タブ名にタスク番号を追加
|
|
108
|
+
|
|
109
|
+
### Changed
|
|
110
|
+
- worktree 削除を daemon から Conductor の責務に移譲
|
|
111
|
+
|
|
112
|
+
### Fixed
|
|
113
|
+
- closed タスク ID のゼロパディング不一致を修正
|
|
114
|
+
- ジャーナルから daemon_reload イベントを除外(ログタブのみに表示)
|
|
115
|
+
- TUI Tasks の表示改善: ソート順、色分け、完了時刻表示、ゼロパディング統一
|
|
116
|
+
- Conductor 完了判定を2回連続 done で確定に変更(誤検知防止)
|
|
117
|
+
|
|
118
|
+
## [2.11.0] - 2026-03-28
|
|
119
|
+
|
|
120
|
+
### Added
|
|
121
|
+
- CLI ベースの Agent spawn: `main.ts spawn-agent` コマンドで Conductor からエージェントを起動。logging proxy 統合により全出力を `.team/logs/` に記録
|
|
122
|
+
- `--task-title` オプション: spawn-agent に記述的タブ名を指定可能に
|
|
123
|
+
- TUI journal タブ: Conductor 完了レポートをジャーナル形式で表示。タスク履歴の振り返りが容易に
|
|
124
|
+
- TUI ダッシュボードに Tasks セクション追加: タスク一覧と journal タブのレイアウトを統合
|
|
125
|
+
|
|
126
|
+
### Changed
|
|
127
|
+
- TUI・status のタイムスタンプをローカルタイムゾーンで表示するよう変更
|
|
128
|
+
|
|
129
|
+
## [2.10.0] - 2026-03-27
|
|
130
|
+
|
|
131
|
+
### Added
|
|
132
|
+
- Stop hook によるイベント通知統一: Conductor 終了時に `main.ts send CONDUCTOR_DONE` で成功/失敗を Manager に通知。`hook-agent-spawned.sh` を廃止し全イベントを CLI 経由に一本化
|
|
133
|
+
- `CONDUCTOR_DONE` メッセージに `success` / `reason` / `exitCode` フィールドを追加。エラー終了の検知とリカバリが可能に
|
|
134
|
+
- TUI フッターにバージョン番号を表示
|
|
135
|
+
|
|
136
|
+
### Changed
|
|
137
|
+
- Conductor 完了時のペイン自動クローズを廃止。作業履歴の確認やデバッグが容易に
|
|
138
|
+
|
|
139
|
+
### Fixed
|
|
140
|
+
- TUI リロード時のクラッシュを修正(ink unmount してからプロセス再起動)
|
|
141
|
+
- リロード時に `exec` でプロセスを置き換え、Master surface を保持するよう修正
|
|
142
|
+
|
|
143
|
+
## [2.9.0] - 2026-03-27
|
|
144
|
+
|
|
145
|
+
### Added
|
|
146
|
+
- Agent surface のツリー表示: Conductor が spawn した Agent を TUI・status API・team.json にツリー構造で表示
|
|
147
|
+
- PostToolUse hook による Agent 自動検出: Conductor の `cmux new-split` を hook で検出し daemon に通知。LLM の協力不要、完全に決定論的
|
|
148
|
+
- Conductor 起動時に `--settings` で hook 付きカスタム設定を注入
|
|
149
|
+
- daemon status API のドキュメントを共通スキル(cmux-agent-role)に追加。全ロールが `main.ts status` で daemon 状態を参照可能に
|
|
150
|
+
|
|
151
|
+
### Changed
|
|
152
|
+
- Master テンプレートの進捗報告を `main.ts status` に一本化(pid check + cmux read-screen の手動手順を廃止)
|
|
153
|
+
|
|
154
|
+
## [2.8.0] - 2026-03-27
|
|
155
|
+
|
|
156
|
+
### Added
|
|
157
|
+
- TUI キーボードショートカット: `r` でリロード、`q` で終了。htop 風のキーヒントを最下段に表示
|
|
158
|
+
- `r` キーで最新 plugin バージョンに自動切り替え: plugin キャッシュから最新の `main.ts` を再検索して再起動
|
|
159
|
+
|
|
160
|
+
## [2.7.0] - 2026-03-27
|
|
161
|
+
|
|
162
|
+
### Added
|
|
163
|
+
- `main.ts status` API: daemon に依存せずダッシュボード情報を取得可能。`--log N` でログ末尾行数を指定
|
|
164
|
+
- Conductor のタスクタイトル表示: TUI・status API・タブ名・team.json に反映
|
|
165
|
+
- フルスクリーン TUI ダッシュボード: ターミナルサイズにレスポンシブ、ログ末尾を色分け表示
|
|
166
|
+
|
|
167
|
+
### Changed
|
|
168
|
+
- **マージ責務を daemon から Conductor に移動**: daemon は決定論的な worktree 削除のみ。マージ/PR は Conductor が判断・実行する。コンフリクト解決も Conductor の責務に
|
|
169
|
+
- Conductor テンプレート: 完了時にローカルマージまたは PR 作成を選択可能に
|
|
170
|
+
|
|
171
|
+
## [2.6.0] - 2026-03-27
|
|
172
|
+
|
|
173
|
+
### Added
|
|
174
|
+
- TypeScript daemon による決定論的 Manager(Claude Code セッションを廃止し、bun プロセスに完全移行)
|
|
175
|
+
- TUI ダッシュボード(ink ベース): タスク・Conductor 状態をリアルタイム表示
|
|
176
|
+
- タスク依存解決: `depends_on` フィールドで依存チェーンを宣言可能
|
|
177
|
+
- 優先度ソート: high > medium > low の順でタスクを実行
|
|
178
|
+
- CLI インターフェース: `main.ts start/send/status/stop` で daemon を操作
|
|
179
|
+
- ファイルキュー通信: `.team/queue/` 経由のメッセージパッシング(`cmux send-key` 不要に)
|
|
180
|
+
- ユニットテスト 39 件: タスクパース、依存解決、キュー送受信、ユースケースシナリオ
|
|
181
|
+
- E2E テストランナー: 独立 cmux workspace で実際の Claude Code を起動して検証(3 シナリオ)
|
|
182
|
+
- CONTRIBUTING.md: テスト方法・リポジトリ構造・コーディング規約をコントリビューター向けに分離
|
|
183
|
+
|
|
184
|
+
### Changed
|
|
185
|
+
- README.md / README.ja.md を daemon アーキテクチャに合わせて全面書き直し
|
|
186
|
+
- bun を前提条件に追加
|
|
187
|
+
- インストール方法: plugin 推奨、skills add をフォールバックに整理
|
|
188
|
+
|
|
189
|
+
### Fixed
|
|
190
|
+
- テンプレート検索: `import.meta.path` からの相対パスを最優先にし、任意のプロジェクトで確実に検出
|
|
191
|
+
- テンプレート未検出時: フォールバック動作を廃止し、エラー停止 + リカバリー手段を表示
|
|
192
|
+
- ゼロパディング ID のタスクファイルマッチング(`startsWith("1")` が `001-*.md` にマッチしない問題)
|
|
193
|
+
- Conductor spawn 後 30 秒のガード期間を追加(初期化中の誤完了判定を防止)
|
|
194
|
+
|
|
195
|
+
## [2.5.0] - 2026-03-25
|
|
196
|
+
|
|
197
|
+
### Added
|
|
198
|
+
- `/master` コマンド: `/clear` 後に Master ロールを再読み込みする
|
|
199
|
+
|
|
200
|
+
## [2.4.0] - 2026-03-25
|
|
201
|
+
|
|
202
|
+
### Added
|
|
203
|
+
- `/team-archive` コマンド: 完了タスクを日付ディレクトリにアーカイブ。範囲指定対応(例: `/team-archive 1-33`)
|
|
204
|
+
|
|
205
|
+
## [2.3.1] - 2026-03-25
|
|
206
|
+
|
|
207
|
+
### Changed
|
|
208
|
+
- Master テンプレートに TODO ワークフローと cmux#2042 バリデーションを追加(ランタイムとの乖離を解消)
|
|
209
|
+
- CLAUDE.md にプロンプト編集ルールを追加(テンプレートがソースオブトゥルース、ランタイム直接編集禁止)
|
|
210
|
+
|
|
211
|
+
### Fixed
|
|
212
|
+
- テンプレート検索で plugin キャッシュの最古バージョン (v2.0.0) が優先される問題を修正(`sort -V | tail -1` で最新を選択)
|
|
213
|
+
- spawn-team.sh が Master プロンプトに common-header.md を付与していた問題を修正(Master のペイン操作が抑制されていた)
|
|
214
|
+
- `/release` で旧バージョンの plugin キャッシュを削除するステップを追加
|
|
215
|
+
|
|
216
|
+
## [2.3.0] - 2026-03-25
|
|
217
|
+
|
|
218
|
+
### Added
|
|
219
|
+
- `spawn-team.sh`: `/start` の全フェーズを一括実行するスクリプト(インフラ準備・プロンプト生成・ペイン作成・Trust 承認・team.json 更新)
|
|
220
|
+
|
|
221
|
+
### Changed
|
|
222
|
+
- `/start` コマンドを `spawn-team.sh` の1回呼び出しに簡素化(約20回の tool call → 1回に高速化)
|
|
223
|
+
|
|
224
|
+
## [2.2.3] - 2026-03-25
|
|
225
|
+
|
|
226
|
+
### Fixed
|
|
227
|
+
- `/team-disband` で未マージの worktree を警告なしに強制削除していた問題を修正(未マージの変更がある場合は警告を表示し、`force` 引数がない限り削除しない)
|
|
228
|
+
|
|
229
|
+
## [2.2.2] - 2026-03-25
|
|
230
|
+
|
|
231
|
+
### Changed
|
|
232
|
+
- `/start` 実行時に毎回 plugin キャッシュからテンプレートを再生成するよう変更(plugin 更新後にプロンプトが古いまま残る問題を解消)
|
|
233
|
+
- Conductor 最大同時実行数を環境変数 `CMUX_TEAM_MAX_CONDUCTORS` で設定可能に(デフォルト: 3)
|
|
234
|
+
- Conductor 終了時に session_id を manager.log に記録(`claude --resume` で事後確認可能)
|
|
235
|
+
|
|
236
|
+
### Fixed
|
|
237
|
+
- タスク完了時に worktree のマージを検証せずクローズしていた問題を修正(コード変更の消失を防止)
|
|
238
|
+
|
|
239
|
+
## [2.2.1] - 2026-03-25
|
|
240
|
+
|
|
241
|
+
### Changed
|
|
242
|
+
- Conductor テンプレートを強化: 冒頭に「自分でコードを書かない」ルールを配置、`[CMUX-TEAM-AGENT]` ヘッダーを除去
|
|
243
|
+
- Conductor に Agent 監視ループを追加: 30秒間隔のポーリングで Agent 完了を検出(Agent spawn 後に完了を待てない問題を解消)
|
|
244
|
+
- `/release` コマンドをプロジェクトローカル (`.claude/commands/`) に移動(plugin 配布対象から除外)
|
|
245
|
+
- `/release` に marketplace キャッシュ pull + plugin reinstall ステップを追加
|
|
246
|
+
|
|
247
|
+
### Fixed
|
|
248
|
+
- タブタイトルに surface 番号が表示されない問題を修正(`[M]` → `[58] Master` 等)
|
|
249
|
+
|
|
250
|
+
## [2.2.0] - 2026-03-25
|
|
251
|
+
|
|
252
|
+
### Added
|
|
253
|
+
- `/release` コマンド: バージョン自動判定・CHANGELOG 更新・push・GitHub Release を一括実行
|
|
254
|
+
- Conductor にレビュー判断ステップ: コード変更を伴うタスクのみ Reviewer Agent を自動起動
|
|
255
|
+
- Manager に TODO ワークフロー: タスクファイル不要の軽量ジョブを `[TODO]` メッセージで即時実行
|
|
256
|
+
- spawn-conductor.sh がテンプレートベースのプロンプト生成に対応(レビューフロー等がConductor に渡るように)
|
|
257
|
+
- ランタイムスクリプト (`spawn-conductor.sh`, `validate-surface.sh`) を plugin 配布物に同梱
|
|
258
|
+
- `/start` の Phase 0 でスクリプトを `.team/scripts/` に自動コピー
|
|
259
|
+
- surface 存在検証スクリプト (`validate-surface.sh`) で cmux#2042 のフォールバック問題を回避
|
|
260
|
+
|
|
261
|
+
### Changed
|
|
262
|
+
- Manager テンプレートから `[CMUX-TEAM-AGENT]` ヘッダーを除去(ペイン操作が Manager の主要責務であることを明記)
|
|
263
|
+
- Manager テンプレートの `[PLAN_UPDATE]` 機構を廃止し、Claude Code ネイティブの TaskCreate/TaskUpdate による TODO 管理に置換
|
|
264
|
+
- `cmux rename-tab` を Claude Code 起動後に実行するよう変更(起動前だとタイトルが上書きされる問題を修正)
|
|
265
|
+
- Manager のループプロトコルを改善: 毎サイクルでタスク走査を実行(Conductor 監視中の新規タスク検出漏れを防止)
|
|
266
|
+
|
|
267
|
+
### Fixed
|
|
268
|
+
- Manager が Conductor を起動せずサブエージェント (Agent ツール) で作業してしまう問題を修正
|
|
269
|
+
- Manager モデルを Haiku から Sonnet に変更(テンプレート指示への追従性向上)
|
|
270
|
+
|
|
271
|
+
## [2.0.0] - 2026-03-23
|
|
272
|
+
|
|
273
|
+
### Added
|
|
274
|
+
- 4層アーキテクチャ (Master → Manager → Conductor → Agent) の初期実装
|
|
275
|
+
- 11 のスラッシュコマンド (`/start`, `/team-status`, `/team-impl` 等)
|
|
276
|
+
- 10 のエージェントテンプレート (manager, conductor, researcher, architect 等)
|
|
277
|
+
- git worktree による Agent の作業隔離
|
|
278
|
+
- Manager のイベント駆動型アイドル停止
|
|
279
|
+
- Claude Code Plugin としての配布対応
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 cmux-team contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.ja.md
ADDED
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+

|
|
2
|
+
|
|
3
|
+
# cmux-team
|
|
4
|
+
|
|
5
|
+
[](LICENSE)
|
|
6
|
+
|
|
7
|
+
Claude Code + cmux によるマルチエージェント開発オーケストレーション。
|
|
8
|
+
|
|
9
|
+
**[English README](README.md)**
|
|
10
|
+
|
|
11
|
+
## なぜ cmux-team?
|
|
12
|
+
|
|
13
|
+
Claude Code の組み込みサブエージェント(Agent ツール)は便利ですが、**中で何をしているか見えません**。結果だけが返ってきて、途中経過はブラックボックスです。
|
|
14
|
+
|
|
15
|
+
cmux-team は、cmux のターミナル分割を使ってサブエージェントを**目に見える形で**並列実行します。
|
|
16
|
+
|
|
17
|
+
**あなたがやること**: Claude に自然言語で指示するだけ。
|
|
18
|
+
**Claude がやること**: cmux でペインを分割し、サブエージェントを起動・監視・統合。
|
|
19
|
+
|
|
20
|
+
## 前提条件
|
|
21
|
+
|
|
22
|
+
- [Claude Code](https://claude.ai/claude-code) がインストール済み
|
|
23
|
+
- [cmux](https://github.com/manaflow-ai/cmux) がインストール済み
|
|
24
|
+
- [bun](https://bun.sh/) がインストール済み(Manager daemon に必要)
|
|
25
|
+
- cmux 内で Claude Code を実行していること
|
|
26
|
+
|
|
27
|
+
## インストール
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
npm install -g @hummer98/cmux-team
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## 使い方
|
|
34
|
+
|
|
35
|
+
### 基本的な流れ
|
|
36
|
+
|
|
37
|
+
cmux を起動し、その中で Claude Code を起動します。
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
あなた: /cmux-team:start
|
|
41
|
+
→ daemon が起動し、ダッシュボードを表示
|
|
42
|
+
→ Master ペインが自動作成される
|
|
43
|
+
→ Master ペインに切り替えてタスクを伝える
|
|
44
|
+
|
|
45
|
+
あなた: React で TODO アプリを作って
|
|
46
|
+
Claude: タスクを作成しました。
|
|
47
|
+
→ daemon がタスクを検出 → Conductor を起動
|
|
48
|
+
→ Conductor が Agent を隣のペインに起動
|
|
49
|
+
→ 各エージェントの作業がリアルタイムで見える
|
|
50
|
+
|
|
51
|
+
あなた: 状況は?
|
|
52
|
+
Claude: (manager.log・cmux tree を確認して報告)
|
|
53
|
+
Conductor-1: 実装中(Agent 2/3 完了)
|
|
54
|
+
|
|
55
|
+
あなた: あと worktree を整理して(TODO)
|
|
56
|
+
Claude: → CLI でキューに TODO を追加
|
|
57
|
+
→ daemon が新しい Conductor を起動して並列実行
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### コマンド一覧
|
|
61
|
+
|
|
62
|
+
| コマンド | やること | いつ使う |
|
|
63
|
+
|---------|---------|---------|
|
|
64
|
+
| `/cmux-team:start` | daemon 起動 + Master spawn | セッション開始時 |
|
|
65
|
+
| `/cmux-team:master` | Master ロール再読み込み | `/clear` 後 |
|
|
66
|
+
| `/team-spec [概要]` | 要件をブレスト | 何を作るか決める時 |
|
|
67
|
+
| `/team-research <トピック>` | 並列リサーチ | 技術調査が必要な時 |
|
|
68
|
+
| `/team-design` | 設計 + レビュー | 要件が固まった後 |
|
|
69
|
+
| `/team-impl [タスク\|all]` | 並列実装 | 設計が固まった後 |
|
|
70
|
+
| `/team-review` | 実装レビュー | 実装が終わった後 |
|
|
71
|
+
| `/team-test [scope\|all]` | テスト作成・実行 | 実装・レビュー後 |
|
|
72
|
+
| `/team-sync-docs` | ドキュメント同期 | 仕様変更時 |
|
|
73
|
+
| `/team-task [操作]` | タスク管理 | 設計判断・課題の記録 |
|
|
74
|
+
| `/team-archive [範囲]` | 完了タスクのアーカイブ | タスク整理時 |
|
|
75
|
+
| `/team-status` | チーム状態表示 | いつでも |
|
|
76
|
+
| `/team-disband [force]` | 全エージェント終了 | 作業完了時 |
|
|
77
|
+
|
|
78
|
+
## アーキテクチャ
|
|
79
|
+
|
|
80
|
+
### 概要
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
┌─────────────────────────────────────────┐
|
|
84
|
+
│ cmux-team daemon (TypeScript/bun) │
|
|
85
|
+
│ ┌───────────────────────────────────┐ │
|
|
86
|
+
│ │ TUI Dashboard │ │
|
|
87
|
+
│ │ Tasks: 2 open | Conductors: 1/3 │ │
|
|
88
|
+
│ └───────────────────────────────────┘ │
|
|
89
|
+
│ Queue ← Master/Hook が CLI で書き込み │
|
|
90
|
+
│ Loop → タスクスキャン → Conductor spawn │
|
|
91
|
+
│ Monitor → 完了検出 → 結果回収 │
|
|
92
|
+
└───────────┬────────────┬────────────────┘
|
|
93
|
+
│ │
|
|
94
|
+
[Master] [Conductor-035]
|
|
95
|
+
Claude Code Claude Code
|
|
96
|
+
(Opus) → [Agent] Claude Code
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### daemon(TypeScript プロセス)
|
|
100
|
+
|
|
101
|
+
Manager は Claude Code セッションではなく、**TypeScript の決定論的ループ**で動作します。
|
|
102
|
+
|
|
103
|
+
- **ファイルキュー** (`.team/queue/`) による通信(`cmux send-key` 不要)
|
|
104
|
+
- **zod** によるメッセージスキーマ検証
|
|
105
|
+
- **ink** ベースの TUI ダッシュボード
|
|
106
|
+
- **タスク依存解決** (`depends_on` フィールド)
|
|
107
|
+
- **優先度ソート** (high > medium > low)
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
# daemon 操作
|
|
111
|
+
./main.ts start # 起動 + Master spawn + ダッシュボード
|
|
112
|
+
./main.ts send TODO --content "worktree 整理"
|
|
113
|
+
./main.ts send TASK_CREATED --task-id 035 --task-file ...
|
|
114
|
+
./main.ts status # ステータス表示
|
|
115
|
+
./main.ts stop # graceful shutdown
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### タスクの依存関係
|
|
119
|
+
|
|
120
|
+
タスクファイルの YAML frontmatter で依存を宣言できます:
|
|
121
|
+
|
|
122
|
+
```yaml
|
|
123
|
+
---
|
|
124
|
+
id: 13
|
|
125
|
+
title: 統合レポート作成
|
|
126
|
+
status: ready
|
|
127
|
+
depends_on: [10, 11, 12] # 10, 11, 12 が全て完了するまで待機
|
|
128
|
+
---
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
daemon は依存が解決されたタスクのみ Conductor に割り当てます。
|
|
132
|
+
|
|
133
|
+
### 通信モデル
|
|
134
|
+
|
|
135
|
+
| 方向 | 手段 |
|
|
136
|
+
|------|------|
|
|
137
|
+
| Master → daemon | CLI (`main.ts send`) → `.team/queue/*.json` |
|
|
138
|
+
| daemon → Conductor | `cmux new-split` + Claude Code 起動 |
|
|
139
|
+
| Conductor → daemon | SessionEnd hook → `.team/queue/*.json` + `cmux read-screen` ポーリング |
|
|
140
|
+
| daemon → Master | なし(Master が `manager.log` を直接参照) |
|
|
141
|
+
|
|
142
|
+
### エージェントロール
|
|
143
|
+
|
|
144
|
+
| ロール | 担当 | 出力例 |
|
|
145
|
+
|--------|-----|--------|
|
|
146
|
+
| Conductor | タスクオーケストレーション、Agent 管理 | summary.md |
|
|
147
|
+
| Researcher | 技術調査・事実収集 | 比較表、推奨事項 |
|
|
148
|
+
| Architect | 技術設計 | 設計書、Mermaid 図 |
|
|
149
|
+
| Reviewer | 品質チェック | Approved / Changes Requested |
|
|
150
|
+
| Implementer | コーディング | コード、変更ファイル一覧 |
|
|
151
|
+
| Tester | テスト作成・実行 | テストコード、実行結果 |
|
|
152
|
+
|
|
153
|
+
## プロジェクト内に作られるもの
|
|
154
|
+
|
|
155
|
+
`/cmux-team:start` を実行すると、プロジェクトに `.team/` ディレクトリが作られます:
|
|
156
|
+
|
|
157
|
+
```
|
|
158
|
+
.team/
|
|
159
|
+
├── team.json # チーム状態(自動管理)
|
|
160
|
+
├── manager/ # daemon ランタイム(TypeScript)
|
|
161
|
+
├── queue/ # メッセージキュー
|
|
162
|
+
│ └── processed/ # 処理済みメッセージ
|
|
163
|
+
├── tasks/
|
|
164
|
+
│ ├── open/ # 未完了タスク
|
|
165
|
+
│ ├── closed/ # 完了タスク
|
|
166
|
+
│ └── archived/ # アーカイブ済み
|
|
167
|
+
├── specs/ # 仕様書(git tracked)
|
|
168
|
+
├── output/ # エージェント出力(gitignore)
|
|
169
|
+
├── prompts/ # 生成プロンプト(gitignore)
|
|
170
|
+
├── logs/ # manager.log(gitignore)
|
|
171
|
+
└── scripts/ # ランタイムスクリプト
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
## Hooks 設定(推奨)
|
|
175
|
+
|
|
176
|
+
`~/.claude/settings.json` に以下を追加すると、エージェントの完了時に cmux の通知リングが光ります:
|
|
177
|
+
|
|
178
|
+
```json
|
|
179
|
+
{
|
|
180
|
+
"hooks": {
|
|
181
|
+
"Notification": [{
|
|
182
|
+
"matcher": "",
|
|
183
|
+
"hooks": [{
|
|
184
|
+
"type": "command",
|
|
185
|
+
"command": "command -v cmux >/dev/null 2>&1 && cmux claude-hook notification || true"
|
|
186
|
+
}]
|
|
187
|
+
}],
|
|
188
|
+
"Stop": [{
|
|
189
|
+
"matcher": "",
|
|
190
|
+
"hooks": [{
|
|
191
|
+
"type": "command",
|
|
192
|
+
"command": "command -v cmux >/dev/null 2>&1 && cmux claude-hook stop || true"
|
|
193
|
+
}]
|
|
194
|
+
}]
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
## トラブルシューティング
|
|
200
|
+
|
|
201
|
+
### daemon が起動しない
|
|
202
|
+
|
|
203
|
+
**bun がインストールされていない**: `brew install oven-sh/bun/bun` でインストール。
|
|
204
|
+
|
|
205
|
+
**cmux 環境外**: cmux 内で実行してください。`CMUX_SOCKET_PATH` 環境変数が必要です。
|
|
206
|
+
|
|
207
|
+
### ペインが狭くなって動作しない
|
|
208
|
+
|
|
209
|
+
ペイン数が多すぎると cmux コマンドが失敗します。`/team-disband` で全エージェントを終了し、`CMUX_TEAM_MAX_CONDUCTORS=1` で Conductor 数を制限してください。
|
|
210
|
+
|
|
211
|
+
### Conductor が自分で作業してしまう
|
|
212
|
+
|
|
213
|
+
Conductor テンプレートに「自分でコードを書かない」ルールがありますが、守られない場合があります。テンプレートを更新するか、`/cmux-team:start` を再実行してプロンプトを再生成してください。
|
|
214
|
+
|
|
215
|
+
### Conductor のセッションログを見たい
|
|
216
|
+
|
|
217
|
+
```bash
|
|
218
|
+
# manager.log から session_id を取得
|
|
219
|
+
grep conductor-xxx .team/logs/manager.log
|
|
220
|
+
# → task_completed ... session=abc-123
|
|
221
|
+
|
|
222
|
+
# セッションを参照
|
|
223
|
+
claude --resume abc-123
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
## 制約・既知の問題
|
|
227
|
+
|
|
228
|
+
- **API レート制限**: 複数エージェント同時実行で過負荷になりやすい。Claude Max 推奨。`CMUX_TEAM_MAX_CONDUCTORS` で同時実行数を制限可能(デフォルト: 3)。
|
|
229
|
+
- **ペイン幅**: ペイン数が多すぎると cmux コマンドが失敗する。
|
|
230
|
+
- **初回 Trust 確認**: 新しいディレクトリで Claude を起動すると信頼確認が表示される。Conductor が自動承認を試みるが、失敗する場合は手動承認が必要。
|
|
231
|
+
|
|
232
|
+
## 開発への貢献
|
|
233
|
+
|
|
234
|
+
テスト方法、リポジトリ構造、コーディング規約については [CONTRIBUTING.md](CONTRIBUTING.md) を参照してください。
|
|
235
|
+
|
|
236
|
+
## ライセンス
|
|
237
|
+
|
|
238
|
+
MIT License - 詳細は [LICENSE](LICENSE) を参照。
|