Plan Product Scope And Identity
Create a written product profile, replace every layer of starter identity, and make explicit module decisions before implementation spreads across the codebase.
On this page
Identity layers
| Layer | Maintainer reference | Verification |
|---|---|---|
| Code defaults | Implementation referenceProduct name, short name, description, and default identity in src/config/app-identity.ts. | Boot without optional database settings and confirm safe defaults. |
| Runtime branding | Logos, favicon, appearance mode, and brand settings through the branding module. | Check marketing, auth, dashboard, email, and social previews. |
| Website settings | Canonical URL, support contact, locale, navigation, and SEO defaults. | Inspect metadata, canonical links, JSON-LD, redirects, and outbound email links. |
| Content | Replace posts, pages, FAQ, case studies, changelog, team, and legal documents. | Search for starter names and review every public route. |
| Providers | Sender identity, billing statement/catalog identity, provider portal branding, and webhook destinations. | Use provider test mode and inspect what a customer receives. |
| Operations | Repository name, deployment project, domains, alerts, support channel, and incident contacts. | Run a launch rehearsal using the production checklist. |
Implementation reference4 areas
These Product code locations explain how the documented behavior is implemented. Expand them when you are ready to customize or maintain this area.
Code-owned identity
Fallback identity keeps boot and metadata behavior predictable before database settings load.
src/config/app-identity.tssrc/lib/config.ts
Database-owned branding
Admin branding updates and public reads own runtime logos, favicon, appearance, and identity values.
src/features/branding/server/actions.tssrc/features/branding/server/queries.tssrc/features/branding/shared/settings.ts
Website and SEO settings
Validated settings control public URL, localization, website copy, and search metadata.
src/features/settings/server/actions/website-settings.tssrc/features/settings/server/actions/seo-settings.tssrc/features/settings/server/schemas/settings.ts
Public content
CMS content kinds and public queries own replaceable editorial and legal content.
src/features/cms/shared/documents/kinds.tssrc/features/cms/server/documents/queries/public.ts
Reference paths are relative to the Shipflash-Product checkout.
Module decision record
- Record one decision for every feature domain: keep, adapt, disable, or remove.
- Name the customer outcome and internal owner for every kept module.
- List routes, navigation entries, tables, storage, environment variables, jobs, webhooks, events, and tests for every removed module.
- Document provider capabilities and intentional limitations for every adapted module.
- Do not remove shared infrastructure only because one current module uses it; first search all direct imports and runtime references.