What problem does it solve? It prevents type sprawl and layering violations in a large React component library by defining exactly where each internal TypeScript type belongs and keeping runtime code out of the types directory. ## Core Features & Use Cases - Placement rules: Routes new types to features/<domain>/, shared/, utility/, or ambient/ based on ownership and scope, with API payloads directed to Effect schemas in src/schemas instead. - Naming conventions: Enforces naming a module after its single export and reserving broader names for multi-type modules, with no barrel file. - Runtime-code boundary: Explains why classes, type guards, data tables, and functions belong with their owning code in src/utils or src/hooks rather than in the types layer. - Use Case: When adding a new type for the bank transactions feature, follow the decision flow to place it in features/bankTransactions/ or inline in the consuming file, keeping the directory erasable at build time. ## Quick Start Ask the AI to decide where a new TypeScript type should live in src/types and whether any runtime code needs to move out of the directory.