architecture
Installation
SKILL.md
Architecture
Principles for keeping a codebase navigable as it grows. Apply against the project's own conventions — these are defaults, not overrides for a repo that already has a documented structure.
Organize by Domain, Not by Layer
Group code by the capability it serves, so one feature can be understood by exploring one area:
features/
bookings/ ← services, data access, UI, tests for bookings
availability/ ← services, data access, UI, tests for availability
Avoid top-level technical layers (controllers/, services/, repositories/) when they scatter one domain change across many directories. Local technical subfolders inside a feature are fine when they make that feature easier to navigate.
Communicate Through Public APIs
A feature imports another feature only through its public entry point, never by reaching into internal files: