Make the correct structure the easiest structure to produce.
Why it exists
Every modular codebase I've worked on decayed the same way: rules that lived in memos instead of tooling. Saraf's ongoing migration proved the cure — a legacy tree that still compiles next to 25 new feature modules while it's replaced one flow at a time. That machinery deserves to exist outside one trading app.
What ships
A dependency-rule lint as an SPM build plugin, composition-root and deep-link routing primitives so features never import features, and a module generator with test scaffolds and ownership entries built in.
Roadmap
- Now — public API freeze; docs written as compiled examples
- Q4 2026 — 1.0 with the template CLI
- 2027 — evaluate Swift macros to replace generated boilerplate