# Mission: Monorepos (with moon)

## Why
You want a **practical mental model of monorepos** so you can standardize multiple projects under one repository — consistent tooling, shared configuration, and efficient task orchestration — with **[moon](https://moonrepo.dev/moon)** as the concrete tool to learn and apply. The outcome is long-term maintenance fluency, not a one-off “dump folders into git” migration.

## Success looks like
- Explain what a monorepo is and is not (vs polyrepo; vs monolith; collocation ≠ tooling)
- Name the problems monorepos solve for multi-project maintenance (duplicated scripts/configs, version drift, cross-project deps, CI fragmentation) — and the costs (tooling, ownership, coupling, cache correctness)
- Sketch monorepo architecture at decision level: workspace root, project graph, tasks/targets, shared vs local config
- Use **moon** for the everyday loop: workspace setup, project discovery, tasks / inheritance, `moon run` / check, toolchain versions, incremental adoption
- Compare moon vs Turborepo / Nx / Bazel at **decision** depth (when moon fits), not feature tourism
- Spot pitfalls early: over-coupling, ownership boundaries, migration cost, naive full-CI every push

## Status
**Core mission complete** (lessons 1–7 + references; lesson 7 passed). Decision fluency is the bar. Optional later: hands-on lab on a live moon workspace, deeper `moon ci` sharding, or forced Nx/Bazel depth for a real project.

## Constraints
- Hands-on track: **decision fluency + light application** with moon
- Prefer **moon v2+** docs and behavior
- Start from *why monorepos exist*, then ground everything in moon
- Short interactive lessons; dense facts live in `reference/`
- Real work context may include Trio / moon workspaces; this folder stays a learning workspace, not the product monorepo

## Out of scope
- Full production migration of every polyrepo you own in this track
- Deep mastery of every competing tool (Nx, Turborepo, Bazel) beyond decision notes
- Google/Meta-scale VCS internals (Piper, Sapling) beyond what they teach about trade-offs
- Package-manager workspaces alone as “the whole monorepo story” (they are one layer)
