Complete setup guide for building and running goal-driven agents with the Aden Agent Framework.
# Run the automated setup script
./quickstart.shNote 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) - Initialize encrypted credential store (
~/.hive/credentials) - Configure default LLM provider
- Fix package compatibility issues (openai + litellm)
- Verify all installations
Windows users should use WSL (Windows Subsystem for Linux) to set up and run agents.
- Install WSL 2 if you haven't already:
wsl --install - Open your WSL terminal, clone the repo, and run the quickstart script:
./quickstart.sh
If you are using Alpine Linux (e.g., inside a Docker container), you must install system dependencies and use a virtual environment before running the setup script:
- Install System Dependencies:
apk update
apk add bash git python3 py3-pip nodejs npm curl build-base python3-dev linux-headers libffi-dev- Set up Virtual Environment (Required for Python 3.12+):
uv venv
source .venv/bin/activate
# uv handles pip/setuptools/wheel automatically
- Run the Quickstart Script:
./quickstart.sh
If you prefer to set up manually or the script fails:
cd core
uv pip install -e .cd tools
uv pip install -e .# litellm requires openai >= 1.0.0
uv pip install --upgrade "openai>=1.0.0"uv run python -c "import framework; print('✓ framework OK')"
uv run python -c "import aden_tools; print('✓ aden_tools OK')"
uv run 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.
- Minimum: Python 3.11
- Recommended: Python 3.11 or 3.12
- Tested on: Python 3.11, 3.12, 3.13
- pip (latest version)
- 2GB+ RAM
- Internet connection (for LLM API calls)
- For Windows users: WSL 2 is recommended for full compatibility.
We recommend using quickstart.sh for LLM API credential setup and /hive-credentials for the tools credentials
The hive CLI is the primary interface for running agents:
# Browse and run agents interactively (Recommended)
hive tui
# Run a specific agent
hive run exports/my_agent --input '{"task": "Your input here"}'
# Run with TUI dashboard
hive run exports/my_agent --tui| Command | Description |
|---|---|
hive tui |
Browse agents and launch TUI dashboard |
hive run <path> |
Execute an agent (--tui, --model, --mock, --quiet, --verbose) |
hive shell [path] |
Interactive REPL (--multi, --no-approve) |
hive info <path> |
Show agent details |
hive validate <path> |
Validate agent structure |
hive list [dir] |
List available agents |
hive dispatch [dir] |
Multi-agent orchestration |
# From /hive/ directory
PYTHONPATH=exports uv run python -m agent_name COMMANDWindows (PowerShell):
$env:PYTHONPATH="core;exports"
python -m agent_name COMMANDBuild and run an agent using Claude Code CLI with the agent building skills:
./quickstart.shThis verifies agent-related Claude Code skills are available:
/hive- Complete workflow for building agents/hive-create- Step-by-step build guide/hive-concepts- Fundamental concepts/hive-patterns- Best practices/hive-test- Test and validate agents
Skills are also available in Cursor. To enable:
- Open Command Palette (
Cmd+Shift+P/Ctrl+Shift+P) - Run
MCP: Enableto enable MCP servers - Restart Cursor to load the MCP servers from
.cursor/mcp.json - Type
/in Agent chat and search for skills (e.g.,/hive-create)
claude> /hive
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.
claude> /hive-concepts
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.
claude> /hive-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.
claude> /hive-test
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.
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
uv venv
# Activate it
source .venv/bin/activate # macOS/Linux
# .venv\Scripts\activate # Windows
# Then run setup
./quickstart.shAlways activate the venv before running agents:
source .venv/bin/activate
PYTHONPATH=exports uv run python -m your_agent_name demoRun once per session:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy BypassSolution: Install the core package:
cd core && uv pip install -e .Solution: Install the tools package:
cd tools && uv pip install -e .Or run the setup script:
./quickstart.shCause: Outdated openai package (0.27.x) incompatible with litellm
Solution: Upgrade openai:
uv pip install --upgrade "openai>=1.0.0"Cause: Not running from project root, missing PYTHONPATH, or agent not yet created
Solution: Ensure you're in /hive/ and use:
Linux/macOS:
PYTHONPATH=exports uv run python -m your_agent_name validateWindows:
$env:PYTHONPATH="core;exports"
python -m support_ticket_agent validateSymptom: pip list shows packages pointing to non-existent directories
Solution: Reinstall packages properly:
# Remove broken installations
uv pip uninstall framework tools
# Reinstall correctly
./quickstart.shThe Hive framework consists of three Python packages:
hive/
├── core/ # Core framework (runtime, graph executor, LLM providers)
│ ├── framework/
│ ├── .venv/ # Created by quickstart.sh
│ └── pyproject.toml
│
├── tools/ # Tools and MCP servers
│ ├── src/
│ │ └── aden_tools/ # Actual package location
│ ├── .venv/ # Created by quickstart.sh
│ └── pyproject.toml
│
├── exports/ # Agent packages (user-created, gitignored)
│ └── your_agent_name/ # Created via /hive-create
│
└── examples/
└── templates/ # Pre-built template agents
Hive primarily uses uv to create and manage separate virtual environments for core and tools.
The project uses separate virtual environments to:
- Isolate dependencies and avoid conflicts
- Allow independent development and testing of each package
- Enable MCP servers to run with their specific dependencies
When you run ./quickstart.sh, uv sets up:
- core/.venv/ - Contains the
frameworkpackage and its dependencies (anthropic, litellm, mcp, etc.) - tools/.venv/ - Contains the
aden_toolspackage and its dependencies (beautifulsoup4, pandas, etc.)
If you need to refresh environments manually, use uv:
cd core && uv sync
cd ../tools && uv syncThe core and tools packages are intentionally independent:
- No cross-imports:
frameworkdoes not importaden_toolsdirectly, and vice versa - Communication via MCP: Tools are exposed to agents through MCP servers, not direct Python imports
- Runtime integration: The agent runner loads tools via the MCP protocol at runtime
If you need to use both packages in a single script (e.g., for testing), prefer uv run with PYTHONPATH:
PYTHONPATH=tools/src uv run python your_script.pyThe .mcp.json at project root configures MCP servers to run through uv run in each package directory:
{
"mcpServers": {
"agent-builder": {
"command": "uv",
"args": ["run", "-m", "framework.mcp.agent_builder_server"],
"cwd": "core"
},
"tools": {
"command": "uv",
"args": ["run", "mcp_server.py", "--stdio"],
"cwd": "tools"
}
}
}This ensures each MCP server runs with the correct project environment managed by uv.
The packages are installed in editable mode (uv 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
./quickstart.shclaude> /hive
Enter goal: "Build an agent that processes customer support tickets"
PYTHONPATH=exports uv run python -m your_agent_name validateclaude> /hive-test
# Interactive dashboard
hive tui
# Or run directly
hive run exports/your_agent_name --input '{"task": "..."}'Add to .vscode/settings.json:
{
"python.analysis.extraPaths": [
"${workspaceFolder}/core",
"${workspaceFolder}/exports"
],
"python.autoComplete.extraPaths": [
"${workspaceFolder}/core",
"${workspaceFolder}/exports"
]
}- Open Project Settings → Project Structure
- Mark
coreas Sources Root - Mark
exportsas Sources Root
export ANTHROPIC_API_KEY="sk-ant-..."# Credentials storage location (default: ~/.aden/credentials)
export ADEN_CREDENTIALS_PATH="/custom/path"
# Agent storage location (default: /tmp)
export AGENT_STORAGE_PATH="/custom/storage"- Framework Documentation: core/README.md
- Tools Documentation: tools/README.md
- Example Agents: exports/
- Agent Building Guide: .claude/skills/hive-create/SKILL.md
- Testing Guide: .claude/skills/hive-test/SKILL.md
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
/hive-test - Document required environment variables
- Issues: https://github.com/adenhq/hive/issues
- Discord: https://discord.com/invite/MXE49hrKDk
- Documentation: https://docs.adenhq.com/