1.0 KiB
1.0 KiB
Setup Plugin Development
Setup plugins let modules extend setup without editing the setup wizard directly.
Plugin source lives under:
src/features/setup/plugins/
Required plugin contract:
- plugin id and version
- installation profiles
- setup templates
- wizard steps
- readiness checks
- verification checks
- CSV preview validators
- import handlers
- reset scopes
- reseed targets
- golden dataset registration
Core plugins:
foundation: setup platform foundations, state, seed manifests, reset framework, CSV frameworkcrm: CRM templates, CRM verification, CRM reset scopes, and CRM golden dataset
Future modules should add a plugin class and register it in plugin-registry.ts. They should not add one-off setup logic directly to the wizard.
Safety rules:
- Plugins cannot bypass Auth.js setup route protection.
- Reset scopes must declare destructive behavior and affected tables.
- CSV templates must declare ownership to avoid duplicate file contracts.
- Seed tasks must be idempotent before execution is exposed.