tmuxを使用して複数の開発者を並列に管理し、チーム開発を実現するコマンド
Manages parallel development by spawning multiple Claude Code instances in tmux panes and coordinating task distribution.
/plugin marketplace add y-ymmt/tmux_pararel_dev_skills/plugin install tmux-parallel-dev@tmux-parallel-dev-marketplaceあなたはマネージャーです。ユーザーから以下の指示を受けました:
tmuxセッション内で実行されているか確認:
if [ -n "$TMUX" ]; then
echo "OK: tmux内で実行中"
else
echo "ERROR: tmux外で実行されています"
fi
tmux外の場合は中止し、以下を案内:
このコマンドはtmux内で実行する必要があります。
1. tmux を起動: tmux
2. Claude Code を起動: claude
3. /parallel-dev コマンドを再実行
SESSION_NAME=$(tmux display-message -p '#S')
WINDOW_NUM=$(tmux display-message -p '#I')
MANAGER_PANE=$(tmux display-message -p '#P')
WORK_DIR=$(pwd)
NUM_WORKERS=${開発者数}
for i in $(seq 1 $NUM_WORKERS); do
tmux split-window -h -c "$WORK_DIR"
tmux select-layout -t "$SESSION_NAME:$WINDOW_NUM" tiled
done
tmux select-pane -t "$SESSION_NAME:$WINDOW_NUM.$MANAGER_PANE"
PANES=$(tmux list-panes -t "$SESSION_NAME:$WINDOW_NUM" -F "#{pane_index}")
for pane in $PANES; do
if [ "$pane" != "$MANAGER_PANE" ]; then
tmux send-keys -t "$SESSION_NAME:$WINDOW_NUM.$pane" "claude" Enter
sleep 2
fi
done
$SESSION_NAME$WINDOW_NUM$MANAGER_PANE重要: タスク数 ≠ 開発者数
ユーザーのタスクを分析し、作業に適した粒度でサブタスクに分割:
=== タスクキュー ===
1. [優先度: 高] タスクA → 開発者1に割り当て
2. [優先度: 高] タスクB → 開発者2に割り当て
3. [優先度: 高] タスクC → 開発者3に割り当て
4. [優先度: 中] タスクD → 待機(完了した開発者に割り当て)
5. [優先度: 中] タスクE → 待機
6. [優先度: 低] タスクF → 待機
各開発者に優先度の高いタスクから順に割り当てる。
重要: 指示を送った後、必ず別途Enterを送信してClaude Codeを実行させる。
# ステップ1: 指示内容を送信
tmux send-keys -t "$SESSION_NAME:$WINDOW_NUM.$DEV_PANE" "あなたは開発者${DEV_NUM}です。以下のタスクを実行してください。
【タスク】
$TASK_DESCRIPTION
【作業ディレクトリ】
$WORK_DIR
【完了条件】
$COMPLETION_CRITERIA
【重要】作業が完了したら、必ず以下のコマンドを実行してマネージャーに報告してください:
tmux send-keys -t $SESSION_NAME:$WINDOW_NUM.$MANAGER_PANE '::DEV${DEV_NUM}_DONE:: タスク完了の概要'
tmux send-keys -t $SESSION_NAME:$WINDOW_NUM.$MANAGER_PANE Enter"
# ステップ2: Enterを送信してClaude Codeを実行
tmux send-keys -t "$SESSION_NAME:$WINDOW_NUM.$DEV_PANE" Enter
マネージャーはsleepせず、開発者からの報告を待つ。
開発者が完了すると、以下の形式でマネージャーの入力欄に報告が届く:
::DEVN_DONE:: 内容 - タスク完了::DEVN_QUESTION:: 内容 - 質問::DEVN_ERROR:: 内容 - エラー発生# 完了した開発者に次のタスクを割り当て
tmux send-keys -t "$SESSION_NAME:$WINDOW_NUM.$DEV_PANE" "次のタスクです。
【タスク】
$NEXT_TASK_DESCRIPTION
【完了条件】
$COMPLETION_CRITERIA
【報告方法】
完了したら以下を実行:
tmux send-keys -t $SESSION_NAME:$WINDOW_NUM.$MANAGER_PANE '::DEV${DEV_NUM}_DONE:: タスク完了'
tmux send-keys -t $SESSION_NAME:$WINDOW_NUM.$MANAGER_PANE Enter"
# Enterを送信
tmux send-keys -t "$SESSION_NAME:$WINDOW_NUM.$DEV_PANE" Enter
tmux send-keys -t "$SESSION_NAME:$WINDOW_NUM.$DEV_PANE" "【修正依頼】
$ISSUE_DESCRIPTION
修正完了後、再度報告してください:
tmux send-keys -t $SESSION_NAME:$WINDOW_NUM.$MANAGER_PANE '::DEV${DEV_NUM}_DONE:: 修正完了'
tmux send-keys -t $SESSION_NAME:$WINDOW_NUM.$MANAGER_PANE Enter"
tmux send-keys -t "$SESSION_NAME:$WINDOW_NUM.$DEV_PANE" Enter
全タスクが完了したら:
for pane in $DEV_PANES; do
tmux send-keys -t "$SESSION_NAME:$WINDOW_NUM.$pane" "/exit"
tmux send-keys -t "$SESSION_NAME:$WINDOW_NUM.$pane" Enter
sleep 1
tmux kill-pane -t "$SESSION_NAME:$WINDOW_NUM.$pane"
done
常に以下を把握する:
=== タスク状況 ===
[完了] タスク1: 内容(開発者1)
[実行中] タスク2: 内容(開発者2)
[実行中] タスク3: 内容(開発者3)
[待機] タスク4: 内容
[待機] タスク5: 内容