2.8 KiB
2.8 KiB
Task D.7.9 Installation Profiles & Setup Plugin Registry
Date: 2026-07-03 Status: implemented
Scope Delivered
Added setup plugin platform layer:
src/features/setup/plugins/plugin-types.tssrc/features/setup/plugins/plugin-registry.tssrc/features/setup/plugins/installation-profile.tssrc/features/setup/plugins/foundation/foundation-plugin.tssrc/features/setup/plugins/crm/crm-setup-plugin.tssrc/features/setup/plugins/crm/crm-installation-profile.ts
Added installation profile API:
GET /api/setup/profiles
Updated existing setup APIs:
GET /api/setup/templates?profile=<profileId>now returns plugin-aware metadata while preserving legacy template fields.GET /api/setup/readiness?profile=<profileId>includes plugin registry readiness checks.POST /api/setup/verifyaccepts optionalprofileIdand includes plugin registry verification checks.
Updated Setup Wizard:
- Loads installation profiles from the setup plugin registry.
- Allows profile selection.
- Builds wizard stepper from profile-resolved wizard steps with fallback to existing steps.
- Displays installed setup modules/plugins.
Added plugin documentation:
docs/setup/installation-profiles.mddocs/setup/setup-plugin-development.md
Added setup tests:
src/tests/setup/setup-plugin-registry.test.ts
Profiles
Implemented profiles:
crm_startercrm_demoproductionrestore_backupcustom
Plugins
Implemented built-in plugins:
foundation- owns setup platform foundations, setup state, seed manifests, reset framework, CSV framework, and foundation golden dataset registration
crm- owns CRM templates, CRM verification registration, CRM reset scopes, CRM reseed target registration, and CRM golden dataset registration
Compatibility Notes
- No breaking API field removals were introduced.
- Existing template metadata fields remain:
file,seedType,importOrder,supported,requiredColumns,description. - New template metadata fields are additive:
plugin,profiles,visible. - Existing CSV preview/commit behavior is unchanged.
- Existing reset/reseed behavior is unchanged.
- External plugin loading, marketplace behavior, and new business modules remain out of scope.
Validation
npm run typecheck -- --pretty falsepassed.npm run test:setuppassed: 20 tests.npx oxlint src/features/setup/plugins src/app/api/setup/profiles src/app/api/setup/templates src/app/api/setup/readiness src/app/api/setup/verify src/features/setup/components/setup-wizard.tsx src/features/setup/api src/tests/setuppassed.
Residual Notes
- Readiness and verification services now aggregate plugin registry checks additively. Existing concrete CRM checks remain in place to avoid regression.
- Future module plugins should register through
plugin-registry.tsrather than editing the setup wizard directly.