10 KiB
Agent Development Environment Setup
Complete setup guide for building and running goal-driven agents with the Aden Agent Framework.
Quick Setup
# Run the automated setup script
./scripts/setup-python.sh
Note for Windows Users:
Running the setup script on native Windows shells (PowerShell / Git Bash) may sometimes fail due to Python App Execution Aliases.
It is strongly recommended to use WSL (Windows Subsystem for Linux) for a smoother setup experience.
This will:
- Check Python version (requires 3.11+)
- Install the core framework package (
framework) - Install the tools package (
aden_tools) - Fix package compatibility issues (openai + litellm)
- Verify all installations
Manual Setup (Alternative)
If you prefer to set up manually or the script fails:
1. Install Core Framework
cd core
pip install -e .
2. Install Tools Package
cd tools
pip install -e .
3. Upgrade OpenAI Package
# litellm requires openai >= 1.0.0
pip install --upgrade "openai>=1.0.0"
4. Verify Installation
python -c "import framework; print('✓ framework OK')"
python -c "import aden_tools; print('✓ aden_tools OK')"
python -c "import litellm; print('✓ litellm OK')"
Windows Tip:
On Windows, if the verification commands fail, ensure you are running them in WSL or after disabling Python App Execution Aliases in Windows Settings → Apps → App Execution Aliases.
Requirements
Python Version
- Minimum: Python 3.11
- Recommended: Python 3.11 or 3.12
- Tested on: Python 3.11, 3.12, 3.13
System Requirements
- pip (latest version)
- 2GB+ RAM
- Internet connection (for LLM API calls)
- For Windows users: WSL 2 is recommended for full compatibility.
API Keys (Optional)
For running agents with real LLMs:
export ANTHROPIC_API_KEY="your-key-here"
Running Agents
All agent commands must be run from the project root with PYTHONPATH set:
# From /hive/ directory
PYTHONPATH=core:exports python -m agent_name COMMAND
Example: Support Ticket Agent
# Validate agent structure
PYTHONPATH=core:exports python -m support_ticket_agent validate
# Show agent information
PYTHONPATH=core:exports python -m support_ticket_agent info
# Run agent with input
PYTHONPATH=core:exports python -m support_ticket_agent run --input '{
"ticket_content": "My login is broken. Error 401.",
"customer_id": "CUST-123",
"ticket_id": "TKT-456"
}'
# Run in mock mode (no LLM calls)
PYTHONPATH=core:exports python -m support_ticket_agent run --mock --input '{...}'
Example: Other Agents
# Market Research Agent
PYTHONPATH=core:exports python -m market_research_agent info
# Outbound Sales Agent
PYTHONPATH=core:exports python -m outbound_sales_agent validate
# Personal Assistant Agent
PYTHONPATH=core:exports python -m personal_assistant_agent run --input '{...}'
Building New Agents and Run Flow
Build and run an agent using Claude Code CLI with the agent building skills:
1. Install Claude Skills (One-time)
./quickstart.sh
This installs agent-related Claude Code skills:
/building-agents-construction- Step-by-step build guide/building-agents-core- Fundamental concepts/building-agents-patterns- Best practices/testing-agent- Test and validate agents/agent-workflow- Complete workflow
2. Build an Agent
claude> /building-agents-construction
Follow the prompts to:
- Define your agent's goal
- Design the workflow nodes
- Connect nodes with edges
- Generate the agent package under
exports/
This step creates the initial agent structure required for further development.
3. Define Agent Logic
claude> /building-agents-core
Follow the prompts to:
- Understand the agent architecture and file structure
- Define the agent's goal, success criteria, and constraints
- Learn node types (LLM, tool-use, router, function)
- Discover and validate available tools before use
This step establishes the core concepts and rules needed before building an agent.
4. Apply Agent Patterns
claude> /building-agents-patterns
Follow the prompts to:
- Apply best-practice agent design patterns
- Add pause/resume flows for multi-turn interactions
- Improve robustness with routing, fallbacks, and retries
- Avoid common anti-patterns during agent construction
This step helps optimize agent design before final testing.
5. Test Your Agent
claude> /testing-agent
Follow the prompts to:
- Generate test guidelines for constraints and success criteria
- Write agent tests directly under
exports/{agent}/tests/ - Run goal-based evaluation tests
- Debug failing tests and iterate on agent improvements
This step verifies that the agent meets its goals before production use.
6. Agent Development Workflow (End-to-End)
claude> /agent-workflow
Follow the guided flow to:
- Understand core agent concepts (optional)
- Build the agent structure step by step
- Apply best-practice design patterns (optional)
- Test and validate the agent against its goals
This workflow orchestrates all agent-building skills to take you from idea → production-ready agent.
Troubleshooting
"externally-managed-environment" error (PEP 668)
Cause: Python 3.12+ on macOS/Homebrew, WSL, or some Linux distros prevents system-wide pip installs.
Solution: Create and use a virtual environment:
# Create virtual environment
python3 -m venv .venv
# Activate it
source .venv/bin/activate # macOS/Linux
# .venv\Scripts\activate # Windows
# Then run setup
./scripts/setup-python.sh
Always activate the venv before running agents:
source .venv/bin/activate
PYTHONPATH=core:exports python -m your_agent_name demo
"ModuleNotFoundError: No module named 'framework'"
Solution: Install the core package:
cd core && pip install -e .
"ModuleNotFoundError: No module named 'aden_tools'"
Solution: Install the tools package:
cd tools && pip install -e .
Or run the setup script:
./scripts/setup-python.sh
"ModuleNotFoundError: No module named 'openai._models'"
Cause: Outdated openai package (0.27.x) incompatible with litellm
Solution: Upgrade openai:
pip install --upgrade "openai>=1.0.0"
"No module named 'support_ticket_agent'"
Cause: Not running from project root or missing PYTHONPATH
Solution: Ensure you're in the project root directory and use:
PYTHONPATH=core:exports python -m support_ticket_agent validate
Agent imports fail with "broken installation"
Symptom: pip list shows packages pointing to non-existent directories
Solution: Reinstall packages properly:
# Remove broken installations
pip uninstall -y framework tools
# Reinstall correctly
./scripts/setup-python.sh
Package Structure
The Hive framework consists of three Python packages:
hive/
├── core/ # Core framework (runtime, graph executor, LLM providers)
│ ├── framework/
│ ├── pyproject.toml
│ └── requirements.txt
│
├── tools/ # Tools and MCP servers
│ ├── src/
│ │ └── aden_tools/ # Actual package location
│ ├── pyproject.toml
│ └── README.md
│
└── exports/ # Agent packages (your agents go here)
├── support_ticket_agent/
├── market_research_agent/
├── outbound_sales_agent/
└── personal_assistant_agent/
Why PYTHONPATH is Required
The packages are installed in editable mode (pip install -e), which means:
frameworkandaden_toolsare globally importable (no PYTHONPATH needed)exportsis NOT installed as a package (PYTHONPATH required)
This design allows agents in exports/ to be:
- Developed independently
- Version controlled separately
- Deployed as standalone packages
Development Workflow
1. Setup (Once)
./scripts/setup-python.sh
2. Build Agent (Claude Code)
claude> /building-agents-construction
Enter goal: "Build an agent that processes customer support tickets"
3. Validate Agent
PYTHONPATH=core:exports python -m support_ticket_agent validate
4. Test Agent
claude> /testing-agent
5. Run Agent
PYTHONPATH=core:exports python -m support_ticket_agent run --input '{...}'
IDE Setup
VSCode
Add to .vscode/settings.json:
{
"python.analysis.extraPaths": [
"${workspaceFolder}/core",
"${workspaceFolder}/exports"
],
"python.autoComplete.extraPaths": [
"${workspaceFolder}/core",
"${workspaceFolder}/exports"
]
}
PyCharm
- Open Project Settings → Project Structure
- Mark
coreas Sources Root - Mark
exportsas Sources Root
Environment Variables
Required for LLM Operations
export ANTHROPIC_API_KEY="sk-ant-..."
Optional Configuration
# Credentials storage location (default: ~/.aden/credentials)
export ADEN_CREDENTIALS_PATH="/custom/path"
# Agent storage location (default: /tmp)
export AGENT_STORAGE_PATH="/custom/storage"
Additional Resources
- Framework Documentation: core/README.md
- Tools Documentation: tools/README.md
- Example Agents: exports/
- Agent Building Guide: .claude/skills/building-agents-construction/SKILL.md
- Testing Guide: .claude/skills/testing-agent/SKILL.md
Contributing
When contributing agent packages:
- Place agents in
exports/agent_name/ - Follow the standard agent structure (see existing agents)
- Include README.md with usage instructions
- Add tests if using
/testing-agent - Document required environment variables
Support
- Issues: https://github.com/adenhq/hive/issues
- Discord: https://discord.com/invite/MXE49hrKDk
- Documentation: https://docs.adenhq.com/