What problem does it solve?
Prevents AI-assisted or manual changes from landing as messy, duplicated, poorly placed, low-cohesion code by forcing an explicit implementation-structure decision before any edits are written.
Core Features & Use Cases
- Reuse-first placement decisions: Decide whether to reuse an existing function/class/module/service/repository/component before introducing anything new.
- Object vs function modeling guidance: Choose between functions, records, services, adapters, strategies, and classes based on identity, invariants, encapsulation needs, and lifecycle boundaries.
- File and directory boundary enforcement: Place new files/directories according to cohesion and real layer/capability boundaries, avoiding dumping-ground structure.
- Test placement rule: Ensure tests are placed next to the observable boundary so the chosen structure is provably usable.
Quick Start
Ask for a pre-implementation plan that explains what existing code will be reused (or why not), what new functions/classes/files/directories are needed (or which are rejected), and exactly where the tests will live to prove the structure works.