A monorepo for building and managing AI agents using Hexagonal Architecture (Ports & Adapters) pattern.
my-agents/
├── apps/
│ └── agent-builder/ # Next.js application
├── packages/
│ ├── domain/ # Domain layer (ports, entities, services)
│ ├── infrastructure/ # Infrastructure layer (adapters, persistence)
│ └── application/ # Application layer (use cases)
└── [config files]
Core business logic with zero external dependencies. Contains:
- Port interfaces (ModelPort, AgentPort, ToolPort, etc.)
- Domain entities
- Domain services
- Domain errors
Implements domain ports. Contains:
- Model adapters (Ollama, OpenRouter, etc.)
- Persistence adapters (SQLite repositories)
- Tool implementations
- Bootstrap/Dependency injection
Orchestrates domain services. Contains:
- Use cases (CreateAgent, ExecuteAgent, etc.)
- Use case factory
Next.js application that uses all packages.
# Install dependencies
pnpm install
# Build all packages
pnpm build
# Start development server
pnpm dev
# Run linting
pnpm lintapps/agent-builder
└── @my-agents/application
├── @my-agents/domain
└── @my-agents/infrastructure
└── @my-agents/domain
This monorepo uses:
- Turborepo for build orchestration and caching
- PNPM for package management with workspaces
- TypeScript with project references for type safety