#!/usr/bin/env bash # workflow.sh — generate or clone workflow config WIZARD_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" # generate_workflow PROJECT_DIR PROJECT_NAME PROJECT_DESC TECH_STACK PRESET generate_workflow() { local project_dir="$1" local project_name="$2" local project_desc="$3" local tech_stack="$4" local preset="$5" local workflow_dir="$project_dir/workflow" info "Generating workflow config ($preset preset)..." mkdir -p "$workflow_dir/agents" mkdir -p "$workflow_dir/roles" mkdir -p "$workflow_dir/hooks/rules" mkdir -p "$workflow_dir/project-docs/tasks" mkdir -p "$workflow_dir/users/default/tasks" mkdir -p "$workflow_dir/data" # workflow.json cat > "$workflow_dir/workflow.json" < "$workflow_dir/agents.json" # Create agent directories from agents.json local agent_ids agent_ids=$(grep '"id"' "$workflow_dir/agents.json" | sed 's/.*"id": *"\([^"]*\)".*/\1/') for agent_id in $agent_ids; do _create_agent_dir "$workflow_dir" "$agent_id" done # Copy role files cp "$WIZARD_DIR/templates/roles/"*.md "$workflow_dir/roles/" 2>/dev/null || true # Copy hook rules cp "$WIZARD_DIR/templates/hooks/rules/"*.json "$workflow_dir/hooks/rules/" 2>/dev/null || true # project-docs/project-vision.md cat > "$workflow_dir/project-docs/project-vision.md" < "$workflow_dir/CLAUDE.md" < "message"\` to send messages between agents. EOF success "Workflow generated at $workflow_dir" } _create_agent_dir() { local workflow_dir="$1" local agent_id="$2" local agent_dir="$workflow_dir/agents/$agent_id/.claude" mkdir -p "$agent_dir/hooks" mkdir -p "$agent_dir/commands" # settings.json cat > "$agent_dir/settings.json" < "$workflow_dir/agents/$agent_id/CLAUDE.md" <