Customize the product
Replace identity, navigation, pricing, theme, content, and provider defaults while preserving the architecture.
Product identity
Update src/config/website.ts:
- name and description;
- production and documentation URLs;
- GitHub repository;
- sender and support identities;
- feature flags and provider defaults;
- price plans and IDs.
Navigation
Public navigation lives in the header and footer components. Authenticated navigation lives in the app shell. Documentation navigation is generated from typed frontmatter in content/docs/.
Theme
Global tokens live in src/styles.css. Components use semantic tokens such as background, foreground, card, muted, border, and primary rather than hard-coded product colors.
Keep light, dark, focus, contrast, and reduced-motion behavior aligned when you change the palette.
Content
Content Collections validates:
- posts;
- legal pages;
- changelog entries;
- documentation pages.
Add or edit Markdown under content/. The restricted renderers support headings, paragraphs, lists, links, code, callouts, and blockquotes without arbitrary HTML injection.
Pricing and providers
Price shape belongs in typed configuration. Vendor product IDs and secrets belong in environment variables. Changing a provider should not require page rewrites.
Acceptance after customization
Run:
pnpm check
pnpm e2e
pnpm build
pnpm exec wrangler deploy --dry-runReview desktop, 320 px mobile, dark mode, canonical metadata, sitemap, email sender identity, and every enabled provider workflow.