Skip to content
Docs
ExtendUpdated 2026-08-20

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.

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:

bash
pnpm check
pnpm e2e
pnpm build
pnpm exec wrangler deploy --dry-run

Review desktop, 320 px mobile, dark mode, canonical metadata, sitemap, email sender identity, and every enabled provider workflow.

TanStarter SES documentationBuilt with TanStack Start and Content Collections.