My AI Development Workflow — Full System Description
Overview
I run a multi-agent AI coding system composed of three layers:
- Agent of Empires (AoE) — a terminal session manager that wraps tmux to run, monitor, and organize multiple AI coding agent sessions in parallel
- OpenCode — an AI coding agent (terminal-based), configured with custom providers, MCP servers, and a plugin system
- Oh My OpenAgent (OMO) — a plugin for OpenCode that provides a multi-agent orchestration framework with 11 specialized AI agents, built-in skills, slash commands, task delegation, and session management
All three tools run on macOS. AoE sits at the outermost layer managing OpenCode sessions, and OMO runs inside OpenCode providing the intelligence orchestration.
Layer 1: Agent of Empires (AoE) — Session Manager
What it is: A Rust-based TUI/CLI tool (aoe v1.4.5, installed via Homebrew) that manages multiple AI coding agent sessions using tmux. Each session is a persistent tmux session, so agents keep running when you close the TUI.
How I use it:
- Launch the TUI with aoe to see a dashboard of all active agent sessions
- Add sessions with aoe add -c opencode <project-path> to spin up an OpenCode instance pointed at a specific repo
- Monitor status at a glance — each session shows whether the agent is running, waiting (for my input), or idle
- Attach to any session with Enter, detach with Ctrl+b d to return to the dashboard
- Toggle between Agent View (the AI conversation) and Terminal View (a paired shell for running builds/tests) with t
- View git diffs with D without leaving the TUI
- Organize sessions into groups and profiles
Key capabilities:
- Multi-agent support: Claude Code, OpenCode, Mistral Vibe, Codex CLI, Gemini CLI, Cursor CLI, Copilot CLI, Pi.dev, Factory Droid (auto-detects installed tools)
- Git worktrees: run parallel agents on different branches of the same repo (currently disabled in my config)
- Docker sandboxing: optionally isolate agents in containers (currently disabled)
- Sessions persist across terminal closes, SSH disconnects, and sleep/wake cycles
My configuration (~/.agent-of-empires/config.toml):
- Default profile with manual group-by
- Worktrees disabled, sandbox disabled
- Auto-update checks enabled, auto-update disabled
- Currently running 2 sessions (Lever Suggester, Crossbeam) both idle
Layer 2: OpenCode — AI Coding Agent
What it is: OpenCode is the terminal-based AI coding agent that I interact with directly inside each AoE session. It provides file editing, code search, LSP integration, web fetching, and tool execution capabilities.
Provider & Models:
All models are routed through a LiteLLM proxy at https://llmproxy.g2.com/v1. Three Anthropic Claude models are available:
- claude-opus-4-6 — highest capability, used for the main orchestrator (Sisyphus), Oracle consultant, planning agents (Prometheus, Metis), and the plan critic (Momus)
- claude-sonnet-4-6 — mid-tier, used for the Librarian researcher, Atlas orchestrator, task executor (Sisyphus Junior), and category work like visual-engineering
- claude-haiku-4-5 — fastest/cheapest, used for the Explore search agent, multimodal analysis, quick tasks, and writing
MCP Servers (Model Context Protocol):
Four remote MCP servers are connected, giving the agent direct access to external services:
- Atlassian (mcp.atlassian.com) — Jira issue management, Confluence pages, Rovo search across the G2 Atlassian instance
- Amplitude (mcp.amplitude.com) — product analytics: search charts, query datasets, get event properties (with selective tool enablement — only search, query_chart, query_amplitude_data, and get_event_properties are turned on; all other Amplitude tools are disabled)