---
name: codebase-design
description: Design deep modules with small interfaces, clear seams, and testable responsibilities.
---

# Codebase Design

Place behavior behind cohesive interfaces. Reduce coupling, hide implementation detail, name concepts consistently, and make important rules testable at a stable seam. Prefer a small number of deep modules over many shallow wrappers.
