Skip to content

Commit 528f20f

Browse files
bokelleyclaude
andcommitted
Add Conductor worktree setup automation
## Setup Scripts - setup_conductor_env.sh (Bash version) - setup_conductor_env.py (Python version) Both scripts automatically copy .env configuration from repository root to Conductor worktrees, eliminating manual credential copying. ## Configuration - .env.example with all test agent configurations - Creative Agent (MCP, no auth) - Optable Signals (MCP, Bearer token) - Wonderstruck Sales (MCP, Bearer token) - Test Agent (A2A, Bearer token) ## Features - ✅ Validates worktree location - ✅ Finds repository root automatically - ✅ Parses and displays configured agents - ✅ Handles multiline JSON in .env - ✅ Security: .env added to .gitignore ## Usage ```bash # In repository root (one time) cp .env.example .env # Edit with your tokens # In each Conductor worktree python3 scripts/setup_conductor_env.py ``` ## Documentation Complete guide in CONDUCTOR_SETUP.md covering: - Setup process - Environment variables - Integration testing - Security best practices - Troubleshooting - Automation ideas This makes it trivial to work with AdCP agents across multiple Conductor worktrees without credential duplication. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent b8064d8 commit 528f20f

File tree

5 files changed

+660
-0
lines changed

5 files changed

+660
-0
lines changed

.env.example

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# AdCP Test Agents Configuration
2+
# Copy this file to .env and it will be automatically copied to new worktrees
3+
4+
# Creative Agent (MCP) - No authentication required
5+
CREATIVE_AGENT_URI=https://creative.adcontextprotocol.org
6+
CREATIVE_AGENT_PROTOCOL=mcp
7+
8+
# Optable Signals Agent (MCP)
9+
OPTABLE_AGENT_URI=https://sandbox.optable.co/admin/adcp/signals/mcp
10+
OPTABLE_AGENT_PROTOCOL=mcp
11+
OPTABLE_AGENT_TOKEN=5ZWQoDY8sReq7CTNQdgPokHdEse8JB2LDjOfo530_9A=
12+
13+
# Wonderstruck Sales Agent (MCP)
14+
WONDERSTRUCK_AGENT_ID=principal_8ac9e391
15+
WONDERSTRUCK_AGENT_NAME=Wonderstruck (MCP)
16+
WONDERSTRUCK_AGENT_URI=https://wonderstruck.sales-agent.scope3.com/mcp/
17+
WONDERSTRUCK_AGENT_PROTOCOL=mcp
18+
WONDERSTRUCK_AGENT_TOKEN=UhwoigyVKdd6GT8hS04cc51ckGfi8qXpZL6OvS2i2cU
19+
20+
# Test Agent (A2A) - Currently returning 404 errors
21+
TEST_AGENT_ID=principal_3bd0d4a8
22+
TEST_AGENT_NAME=Test Agent
23+
TEST_AGENT_URI=https://test-agent.adcontextprotocol.org
24+
TEST_AGENT_PROTOCOL=a2a
25+
TEST_AGENT_TOKEN=L4UCklW_V_40eTdWuQYF6HD5GWeKkgV8U6xxK-jwNO8
26+
27+
# Multi-Agent Configuration (JSON format)
28+
# This is the format expected by ADCPMultiAgentClient.from_env()
29+
ADCP_AGENTS='[
30+
{
31+
"id": "creative_agent",
32+
"name": "Creative Agent",
33+
"agent_uri": "https://creative.adcontextprotocol.org",
34+
"protocol": "mcp"
35+
},
36+
{
37+
"id": "optable_signals",
38+
"name": "Optable Signals",
39+
"agent_uri": "https://sandbox.optable.co/admin/adcp/signals/mcp",
40+
"protocol": "mcp",
41+
"auth_token": "5ZWQoDY8sReq7CTNQdgPokHdEse8JB2LDjOfo530_9A="
42+
},
43+
{
44+
"id": "principal_8ac9e391",
45+
"name": "Wonderstruck (MCP)",
46+
"agent_uri": "https://wonderstruck.sales-agent.scope3.com/mcp/",
47+
"protocol": "mcp",
48+
"auth_token": "UhwoigyVKdd6GT8hS04cc51ckGfi8qXpZL6OvS2i2cU"
49+
},
50+
{
51+
"id": "principal_3bd0d4a8",
52+
"name": "Test Agent",
53+
"agent_uri": "https://test-agent.adcontextprotocol.org",
54+
"protocol": "a2a",
55+
"auth_token": "L4UCklW_V_40eTdWuQYF6HD5GWeKkgV8U6xxK-jwNO8"
56+
}
57+
]'
58+
59+
# Webhook Configuration (optional)
60+
# WEBHOOK_URL_TEMPLATE=https://myapp.com/webhooks/{agent_id}/{task_type}/{operation_id}
61+
# WEBHOOK_SECRET=your-webhook-secret-here

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,3 +141,6 @@ cython_debug/
141141
# OS
142142
.DS_Store
143143
Thumbs.db
144+
145+
# Environment variables
146+
.env

0 commit comments

Comments
 (0)