Status: Accepted
Date: 2026-05-24
Decision Owner: Architecture
Enterprise monorepos frequently suffer from root directory bloat. Over time, test directories (tests/), scripts (scripts/), configuration files (NuGet.Config), and scattered knowledge articles (knowledge/) accumulate in the root workspace. This creates cognitive overload for new engineers and obscures the primary entry points (README.md, docs/MASTER_INDEX.md).
In UMS, the lack of a strict root taxonomy allowed technical and governance concerns to intermingle at the top level, creating a suboptimal developer experience and pushing critical documentation below the fold in GitHub’s web interface.
Adopt the “Lean Root” (or Clean Root) architectural pattern, enforcing a strict binary dichotomy at the repository root: the Technical Engine (src/) versus the Knowledge Hub (docs/).
src/ (Technical Engine): All runnable code, tests, load testing scripts, database migrations, CI/CD utility scripts, and language-specific configurations (e.g., NuGet.Config) MUST reside within src/ or its subdirectories.docs/ (Knowledge Hub): All enterprise documentation, architectural blueprints, requirements, and translated READMES (README.es.md) MUST reside within docs/.AGENTS.md) and standard open-source files (CHANGELOG.md, LICENSE, README.md) are the ONLY exceptions permitted to remain at the root, complying strictly with the BMAD methodology structural standards.src/) vs. theory (docs/).README.md and navigation links are prominently displayed “above the fold” on GitHub without requiring scrolling past dozens of folders.src/ or update their command paths.NuGet.Config) must be explicitly targeted or relied upon via standard inheritance mechanisms from within src/.src/ vs docs/ separation.