chore(repo): initialize planarchy workspace
This commit is contained in:
@@ -0,0 +1,152 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../.." && pwd)"
|
||||
AGENTS_DIR="$ROOT_DIR/.agents"
|
||||
SPRINT_DIR="$AGENTS_DIR/sprints/widget-field-refactor"
|
||||
ACTIVE_CONFIG="$AGENTS_DIR/config.toml"
|
||||
GPT54_CONFIG="$AGENTS_DIR/config.gpt-5.4.toml"
|
||||
BACKUP_CONFIG="$AGENTS_DIR/config.toml.pre-gpt-5.4.bak"
|
||||
CODEX_CONFIG="$HOME/.codex/config.toml"
|
||||
|
||||
require_file() {
|
||||
local path="$1"
|
||||
if [[ ! -f "$path" ]]; then
|
||||
echo "Missing required file: $path" >&2
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
require_cmd() {
|
||||
local name="$1"
|
||||
if ! command -v "$name" >/dev/null 2>&1; then
|
||||
echo "Missing required command: $name" >&2
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
spawn_agent() {
|
||||
local type="$1"
|
||||
local name="$2"
|
||||
|
||||
echo " - spawning $name ($type)"
|
||||
npx @claude-flow/cli agent spawn --type "$type" --name "$name"
|
||||
}
|
||||
|
||||
check_azure_codex_config() {
|
||||
require_file "$CODEX_CONFIG"
|
||||
|
||||
local provider
|
||||
provider="$(sed -n 's/^[[:space:]]*model_provider[[:space:]]*=[[:space:]]*"\([^"]*\)".*/\1/p' "$CODEX_CONFIG" | head -n 1)"
|
||||
|
||||
if [[ -z "$provider" ]]; then
|
||||
echo "Missing model_provider in $CODEX_CONFIG" >&2
|
||||
echo "See docs/azure_codex_setup.md" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ "$provider" != azure* ]]; then
|
||||
echo "Codex is not configured for Azure in $CODEX_CONFIG" >&2
|
||||
echo "Detected model_provider=\"$provider\"" >&2
|
||||
echo "See docs/azure_codex_setup.md" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! grep -q 'AZURE_OPENAI_API_KEY' "$CODEX_CONFIG"; then
|
||||
echo "Azure Codex config is missing AZURE_OPENAI_API_KEY binding in $CODEX_CONFIG" >&2
|
||||
echo "See docs/azure_codex_setup.md" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -z "${AZURE_OPENAI_API_KEY:-}" ]]; then
|
||||
echo "AZURE_OPENAI_API_KEY is not exported in the current shell." >&2
|
||||
echo "See docs/azure_codex_setup.md" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Azure Codex config detected:"
|
||||
echo " config -> $CODEX_CONFIG"
|
||||
echo " provider -> $provider"
|
||||
}
|
||||
|
||||
require_cmd npx
|
||||
require_file "$GPT54_CONFIG"
|
||||
require_file "$SPRINT_DIR/O1-orchestrator.md"
|
||||
require_file "$SPRINT_DIR/A1-architect.md"
|
||||
require_file "$SPRINT_DIR/C1-field-domain-coder.md"
|
||||
require_file "$SPRINT_DIR/C2-blueprint-ui-coder.md"
|
||||
require_file "$SPRINT_DIR/C3-widget-platform-coder.md"
|
||||
require_file "$SPRINT_DIR/C4-dashboard-data-coder.md"
|
||||
require_file "$SPRINT_DIR/T1-test-agent.md"
|
||||
require_file "$SPRINT_DIR/R1-reviewer.md"
|
||||
check_azure_codex_config
|
||||
|
||||
if [[ -f "$ACTIVE_CONFIG" && ! -f "$BACKUP_CONFIG" ]]; then
|
||||
cp "$ACTIVE_CONFIG" "$BACKUP_CONFIG"
|
||||
fi
|
||||
|
||||
echo "Switching active Claude Flow config to GPT-5.4..."
|
||||
cp "$GPT54_CONFIG" "$ACTIVE_CONFIG"
|
||||
|
||||
echo
|
||||
echo "Initializing hierarchical swarm..."
|
||||
npx @claude-flow/cli swarm init \
|
||||
--topology hierarchical \
|
||||
--max-agents 8 \
|
||||
--strategy specialized
|
||||
|
||||
echo
|
||||
echo "Spawning sprint agents..."
|
||||
spawn_agent coordinator O1
|
||||
spawn_agent architect A1
|
||||
spawn_agent coder C1
|
||||
spawn_agent coder C2
|
||||
spawn_agent coder C3
|
||||
spawn_agent coder C4
|
||||
spawn_agent tester T1
|
||||
spawn_agent reviewer R1
|
||||
|
||||
echo
|
||||
echo "Swarm status:"
|
||||
npx @claude-flow/cli swarm status
|
||||
|
||||
echo
|
||||
echo "Active agents:"
|
||||
npx @claude-flow/cli agent list --filter active || true
|
||||
|
||||
echo
|
||||
echo "Important:"
|
||||
echo " 'swarm init' only creates the coordination container."
|
||||
echo " Actual progress starts only after agents are successfully created"
|
||||
echo " and given work."
|
||||
|
||||
echo
|
||||
echo "Sprint prompt files:"
|
||||
echo " O1 -> $SPRINT_DIR/O1-orchestrator.md"
|
||||
echo " A1 -> $SPRINT_DIR/A1-architect.md"
|
||||
echo " C1 -> $SPRINT_DIR/C1-field-domain-coder.md"
|
||||
echo " C2 -> $SPRINT_DIR/C2-blueprint-ui-coder.md"
|
||||
echo " C3 -> $SPRINT_DIR/C3-widget-platform-coder.md"
|
||||
echo " C4 -> $SPRINT_DIR/C4-dashboard-data-coder.md"
|
||||
echo " T1 -> $SPRINT_DIR/T1-test-agent.md"
|
||||
echo " R1 -> $SPRINT_DIR/R1-reviewer.md"
|
||||
|
||||
echo
|
||||
echo "Recommended startup sequence:"
|
||||
echo " 1. Paste O1 prompt into agent O1."
|
||||
echo " 2. Paste A1 prompt into agent A1."
|
||||
echo " 3. Wait for A1 contracts."
|
||||
echo " 4. Then start C1, C3, and T1."
|
||||
echo " 5. Start C2 after field contract approval."
|
||||
echo " 6. Start C4 after router/application boundaries are agreed."
|
||||
echo " 7. Keep R1 reviewing every merge candidate."
|
||||
|
||||
echo
|
||||
echo "Note:"
|
||||
echo " This script automates config activation, swarm init, and agent spawning."
|
||||
echo " Prompt injection remains file-based because the repo-local Claude Flow"
|
||||
echo " docs only define swarm init, agent spawn, task orchestration, status,"
|
||||
echo " and routing commands."
|
||||
echo " O1 uses the CLI's 'coordinator' type and receives the non-coding"
|
||||
echo " orchestrator instructions from O1-orchestrator.md."
|
||||
Reference in New Issue
Block a user