Feature Domains
features/* stores product-domain code. Page files should stay thin: routing, page-level state, and composition only.
Recommended structure:
features/<domain>/components: domain UI componentsfeatures/<domain>/hooks: domain data/state hooksfeatures/<domain>/types.ts: domain typesfeatures/<domain>/utils.ts: domain-only helpers
Current domains:
datasource: instance inventory and MySQL/PostgreSQL engine surfacesredis: Redis value formatting, Hash/ZSet viewers, Redis command helpersmongo: MongoDB database/collection/document surfacesquery: self-service query workspaceticket: change ticket lifecyclegovernance: workflows, audit rules, approval policyrbac: users, roles, permissions, permission groups, LDAP syncsystem: settings, notifications, announcements, audit logs
Migration rule:
- If a page grows past roughly 700 lines, extract domain components or hooks before adding more behavior.
- If logic is reused by two domains, move it to
shared/*instead of another feature domain. - API clients stay under
api/<domain>; features consume APIs but do not define transport details.