MuseMVP
Docs do MuseMVP
Configuration

Brand Configuration

Customize identity, logo, quotas and copy, then check public and signed-in surfaces.

Complete first login before customizing. Product choices, copy, visuals and resource identities have different owners.

1. Set identity and quotas

Use productSchema, product and catalog in packages/config/src/index.ts.

FieldPurposeConsideration
nameDisplay name and authentication issuerUpdate copy as well as the logo
slugProduct ID/default resource prefixLowercase letters, digits and hyphens
supportEmailSupport contactUse your own address
quotas.welcomeCreditsInitial grant, default 30Stable ledger operation prevents duplicates
quotas.chatCredits / summaryCreditsStream/summary charge, defaults 1 / 5Keep UI explanations aligned
quotas.storedFilesUser file count, default 100Enforced on the server
billing.enabled / defaultGatewayEnabled/default providersEmpty until products and secrets are ready

Keep schema validation and change the parsed product input, for example:

export const product = productSchema.parse({
  name: 'Your Product',
  slug: 'your-product',
  supportEmail: '[email protected]',
  quotas: { welcomeCredits: 30, chatCredits: 1, summaryCredits: 5, storedFiles: 100 },
  billing: { enabled: [] }
})

publicConfig() exposes selected public fields only. Never spread root environment variables or all Worker bindings into browser configuration.

  • Image: apps/web/public/logo.png.
  • Shared brand: apps/web/src/components/brand.tsx, used across public/auth/workspace surfaces.
  • Head metadata: apps/web/src/lib/seo.ts and routes/__root.tsx.
  • Public content: paired apps/web/src/content/*.en.mdx and *.zh.mdx.

Check actual image dimensions and remove references to obsolete assets such as favicon.svg. Worker APP_URL owns the site origin; renaming the product does not change authentication origins.

3. Copy and theme

Put derivative copy in packages/i18n/messages/en.mvp.json and zh.mvp.json. Base files define keys; keep both overrides aligned rather than scattering product-specific strings through components.

Theme tokens live in apps/web/src/styles.css. Current typography is Geist Sans, Geist Mono and Fraunces. shadcn components live in apps/web/src/components/ui. See Components and themes.

4. Catalog and infrastructure

Flare's catalog sells your product; it is separate from MuseMVP website checkout. Configure stable plan IDs, integer minor-unit amounts, currency, credits and provider mappings using Billing.

product.slug does not override explicit production names in packages/cli/src/target-resources.ts. A new derivative must choose its own five names. An existing deployed project should preserve its current resource identities during upgrades.

Verify

pnpm check:contracts
pnpm type-check
pnpm build

Inspect both languages on home, login, /app and pricing. Name, logo, support contact, quotas and plans must agree. Check both themes and 320px width. Restart locally after environment changes; use deployment tooling for production changes.

Continue with Environment variables.

Nesta página