Skip to the content.

ADR-001: Go + Next.js Monorepo

Status: Accepted
Date: 2026-05-09

Context

Embercore needs two distinct runtime components:

  1. An AI engine that orchestrates LLM-powered marketing agents, executes plans with topological ordering, manages SQLite persistence, and exposes tools via the MCP protocol.
  2. A web dashboard for plan visualization, checkpoint approvals, agent configuration, and artifact browsing.

We needed to choose languages/frameworks for each component and decide whether to structure them as separate repositories or a unified monorepo.

Decision

Go for the engine (packages/engine/)

Next.js for the web dashboard (apps/web/)

Monorepo via pnpm workspaces

Consequences

Benefits:

Trade-offs:

Related decisions: