Files
relicario/docs/superpowers/coordination/v0.9.0-launch.sh
adlee-was-taken 79284979c1 docs(coordination): v0.9.0 multi-agent kickoff prompts (PM + 5 devs)
Generate the kickoff prompts for the v0.9.0 lift — two independent tracks
sharing the tag, each internally sequenced:

  org track:      dev-a (SW+WASM foundation) -> dev-b (read UI) -> dev-c (write)
  keyfile track:  dev-d (core/cli/wasm)      -> dev-e (extension + positioning)

- PM prompt encodes start-order gating (A+D start now; C runs its GO/NO-GO
  signed-commit spike now; B holds for A; E holds for D; C-writes hold for A+B),
  the Gitea git-merge mechanism (gh is unusable here — merge via git --no-ff),
  per-stream judgment calls, and the pre-tag checklist incl. the release.js
  version-check caveat (relicario-server's independent 0.1.x line).
- Each dev prompt: worktree setup, force-cd subagent rule, relay polling cadence,
  scope/out-of-scope partition, hard rules, final tests, push (no gh pr create).
- v0.9.0-launch.sh: relay health-check + tmux session (pm + dev-a..dev-e).

Relay already supports dev-a..dev-f (no queue.ts/server.ts change needed).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Pe8qw5KePDqAEBsAxnVQuJ
2026-06-25 20:39:57 -04:00

61 lines
3.6 KiB
Bash
Executable File

#!/usr/bin/env bash
# Multi-agent kickoff launcher — v0.9.0 (org GUI + key-file second factor)
# 1 PM + 5 dev sessions (dev-a..dev-e). Starts the relay, opens a tmux session
# with 6 windows, and prints the prompt-paste cheatsheet.
set -e
REPO=/home/alee/Sources/relicario
# ---------------------------------------------------------------------------
# Section 1 — Relay health check and auto-start
# ---------------------------------------------------------------------------
if curl -sf http://127.0.0.1:7331/sse --max-time 2 > /dev/null 2>&1; then
echo "[relay] already running"
else
echo "[relay] starting..." && nohup npx tsx "$REPO/tools/relay/server.ts" > /tmp/relay-v0.9.0.log 2>&1 &
for i in $(seq 1 10); do sleep 1; curl -sf http://127.0.0.1:7331/sse --max-time 1 > /dev/null 2>&1 && echo "[relay] ready" && break || true; [ $i -eq 10 ] && echo "[relay] ERROR — check /tmp/relay-v0.9.0.log" && exit 1; done
fi
# ---------------------------------------------------------------------------
# Section 2 — tmux session
# ---------------------------------------------------------------------------
SESSION="v0.9.0"
if tmux has-session -t "$SESSION" 2>/dev/null; then
echo "[tmux] session '$SESSION' already exists — attaching"
tmux attach-session -t "$SESSION"
exit 0
fi
# Create session with PM window
tmux new-session -d -s "$SESSION" -n "pm" -c "$REPO"
tmux send-keys -t "$SESSION:pm" "claude" Enter
# Dev windows (dev-a..dev-e). Each starts in the MAIN repo; the dev prompt's
# Setup block creates its own worktree as the dev's first action.
for DEV in a b c d e; do
tmux new-window -t "$SESSION" -n "dev-$DEV" -c "$REPO"
tmux send-keys -t "$SESSION:dev-$DEV" "claude" Enter
done
# Prompt-paste cheatsheet
echo ""
echo "┌──────────────────────────────────────────────────────────────────────────────┐"
echo "│ v0.9.0 — prompt-paste cheatsheet │"
echo "├──────────┬───────────────────────────────────────────────────────────────────┤"
echo "│ Window │ Paste file (everything below the '---' line) │"
echo "├──────────┼───────────────────────────────────────────────────────────────────┤"
echo "│ pm │ docs/superpowers/coordination/v0.9.0-pm-prompt.md │"
echo "│ dev-a │ docs/superpowers/coordination/v0.9.0-dev-a-prompt.md (org found.) │"
echo "│ dev-b │ docs/superpowers/coordination/v0.9.0-dev-b-prompt.md (org read) │"
echo "│ dev-c │ docs/superpowers/coordination/v0.9.0-dev-c-prompt.md (org write) │"
echo "│ dev-d │ docs/superpowers/coordination/v0.9.0-dev-d-prompt.md (keyfile) │"
echo "│ dev-e │ docs/superpowers/coordination/v0.9.0-dev-e-prompt.md (keyfile ext)│"
echo "└──────────┴───────────────────────────────────────────────────────────────────┘"
echo ""
echo "Start order (PM gates this): A + D start now; C runs its Task-1 spike now;"
echo "B holds for A; E holds for D; C's writes hold for A + B."
echo ""
tmux attach-session -t "$SESSION"