Skip to content

mikeyobrien/everything-as-code

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 

Repository files navigation

The AI-Native Frontier: Everything-as-Code (EaC) Monorepos

The traditional monorepo was built for human collaboration at scale (Google, Meta). The AI-Native Monorepo is built for a different primary user: the AI Coding Agent.

In this architecture, Everything-as-Code (EaC) is not just a management choice—it is a mandatory infrastructure for providing AI with the Global Context it needs to act autonomously and accurately.


1. Context as Currency: The AI-Native Thesis

AI efficiency is limited by its "Information Horizon." In fragmented multi-repo setups, AI is blind to cross-boundary side effects.

The AI-Native Monorepo solves this by ensuring:

  • Zero-Latency Context: When you ask an agent to "Fix the login bug," it sees the OAuth config in /infra, the API handler in /backend, the React hook in /frontend, and the troubleshooting entry in /docs.
  • Global Truth: AI doesn't speculate on which version of a library or API is current; it simply reads it from the adjacent directory.
  • Agent Autonomy: A single AI agent can execute an "Atomic Feature Cycle"—coding the backend, scaffolding the UI, and updating the marketing site—without human intervention to "hand off" between repositories.

2. AI-First Conventions (The "Agent Map")

Standard monorepos rely on implicit knowledge. AI-Native ones use explicit Context Anchors:

The CLAUDE.md / CONTEXT.md Convention

Every major directory contains an AI-readable manifest. This is the Human-to-AI Handoff:

  • Tech Stack: "We use Next.js 15 with Tailwind v4. Do not use legacy CSS."
  • Patterns: "Always use Drizzle for DB queries in this folder."
  • Rules: "Never touch /infra without updating /docs/security-log.md."

Semantic Directory Structure

AI agents navigate by structure. A predictable, flat hierarchy (as seen in the Kasava model) reduces "token waste" and navigation errors:

├── /backend     # API & Business Logic
├── /frontend    # UI Components
├── /infra       # Terraform/Cloudfront
├── /content     # Marketing & Blog (EaC)
├── /specs       # PRDs & Architecture (Context Source)
└── CLAUDE.md    # Root Metadata for AI

3. The AI-Native EAC Lifecycle

The workflow changes when an AI agent is the primary driver:

  1. Context Loading: The agent reads CLAUDE.md to align with the local stack.
  2. Cross-Boundary Reasoning: The AI identifies that changing a DB field in /backend requires an update to the JSON schema in /content and a new test case in /frontend.
  3. Atomic Execution: The AI writes all changes across all domains in one pass.
  4. Implicit Validation: The AI run tests across the whole system, catching integration errors that a human might miss in a multi-repo sprawl.

4. Why Multi-Repo is "AI-Legacy"

Multi-repo architectures create "Context Silos." Even with advanced tools (like MCP or RAG), fetching information across repositories is slow, expensive, and error-prone.

  • Legacy: Human engineers act as the "Context Bridge" between repos.
  • AI-Native: The Monorepo is the context bridge.

5. Strategic Takeaway for AI-Enabled Teams

If your team's velocity depends on AI agents, Consolidate. Every additional repository is a tax on your AI's intelligence. By moving to an EaC Monorepo, you transform your codebase from a set of isolated files into a Unified Intelligence Environment.


6. Appendix: The Starter CLAUDE.md Template

To turn your monorepo into an AI-Native environment, drop this template into your root and every major sub-directory. It acts as the "source of truth" for agent behavior.

# [Component Name] Context & Guidelines

## 🎯 Purpose
Briefly describe what this directory does (e.g., "Main API handlers for user authentication").

## 🛠 Tech Stack
- **Language**: TypeScript (Node.js 20)
- **Framework**: Hono / Cloudflare Workers
- **Database**: Drizzle ORM (PostgreSQL)
- **Style**: Functional, avoid classes unless necessary.

## 📋 Core Commands
- **Install**: `npm install`
- **Dev**: `npm run dev`
- **Test**: `npm test`
- **Lint**: `npm run lint`

## 🧩 Shared Boundaries
- **Consumes**: `../../shared/types` for API contracts.
- **Provides**: Endpoints used by `../../frontend`.

## 🤖 AI Alignment Rules
1. Always check `schema.ts` before modifying any DB service.
2. If changing an API response, proactively update the frontend types.
3. Use `console.error` for errors, never swallow exceptions.

7. AI-Native EAC Scaffolding SOP

To implement this workflow autonomously, provide the following SOP to your AI agent.

# AI-Native EAC Scaffolding

## Overview
This SOP provides a standard procedure for an AI agent to initialize a new Everything-as-Code (EaC) Monorepo. Use this to ensure all "Context Anchors" are correctly placed from day one.

## Parameters
- **project_name** (required): The name of the new project/repository.
- **anchor_filename** (optional, default: "AGENTS.md"): The filename for context anchors (e.g., AGENTS.md, CLAUDE.md).
- **sub_dirs** (optional, default: "frontend, backend, infra, content, specs, sops"): Comma-separated list of directories to create.

## Steps

### 1. Technology Discovery
Before creating any files, you MUST clarify the `core_stack` through an iterative dialogue.

**Constraints:**
- You MUST ask the user one question at a time to determine the technologies for each major layer (Frontend, Backend, Database, Infrastructure).
- You MUST NOT proceed to Step 2 until the user has confirmed the full stack.
- You SHOULD suggest modern, AI-friendly defaults (e.g., TypeScript, Next.js, Hono) if the user is undecided.

### 2. Directory Initialization
Construct the physical skeleton of the monorepo.

**Constraints:**
- You MUST create the root directory named after `project_name`.
- You MUST create all directories listed in `sub_dirs`.
- You SHOULD include a `.gitignore` at the root that covers all sub-project build artifacts.

### 3. Root Anchor Placement
Establish the global context for the AI agent.

**Constraints:**
- You MUST create a file named `anchor_filename` in the root directory.
- You MUST include a "Global Intelligence Map" in the root anchor file describing the relationship between `sub_dirs`.
- You MUST document the full `core_stack` as discovered in Step 1.

### 4. Sub-project Scaffolding
Initialize the independent sub-projects.

**Constraints:**
- You MUST navigate into each functional `sub_dir` (excluding `/sops` and `/specs`) and run its respective init command (e.g., `npm init`).
- You MUST create an `anchor_filename` file in each sub-directory.
- Each local anchor file MUST define its "Shared Boundaries" (e.g., "This frontend consumes types from ../shared").

### 5. Verification & Baseline
Ensure the environment is ready for autonomous agent work.

**Constraints:**
- You MUST run a baseline `git init` and commit the scaffold.
- You SHOULD verify that a search for `anchor_filename` returns an anchor for every major functional block.

Sources & Industry Intelligence

  1. Kasava: Everything as Code for AI-Native Development
  2. Monorepo.tools: Why AI Agents prefer Monorepos
  3. Vercel: Structuring Repos for the AI Era
  4. Google Engineering: Scaling Intelligence in Monorepos
  5. GitHub: AI-Native Workflows and Repository Structure

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published