Skip to main content
Skip to content

Last updated on 4 June 2026

Customisation

Buyer-facing settings are centralised in src/lib/site-config.ts. Start there for branding, legal entity data, region flags, compliance windows, cookie consent copy, uploads, and operational limits.

1. Brand

Edit src/lib/site-config.ts:

ts
export const SITE_CONFIG = {
  productName: 'YourAdmin',
  companyName: 'Your Company Ltd',
  contact: {
    support: 'support@your-domain.com',
    privacy: 'privacy@your-domain.com',
    legal: 'legal@your-domain.com',
    security: 'security@your-domain.com',
  },
};

These values flow into layouts, legal pages, emails, metadata, and footer copy.

Populate:

  • SITE_CONFIG.legalEntity
  • SITE_CONFIG.regions
  • SITE_CONFIG.compliance
  • SITE_CONFIG.cookieConsent

Review COMPLIANCE.md before launch. The bundled legal pages are scaffold content and should be reviewed by counsel.

3. Theme

Nexus tokens live in src/themes/nexus.css. Change the accent by editing the OKLCH hue:

css
:root {
  --accent: oklch(0.72 0.18 180);
}

4. Fonts

Display font setup lives in src/app/layout.tsx via next/font. Replace the font import and keep the CSS variable name aligned with src/themes/nexus.css.

Replace:

  • src/app/icon.svg
  • public/logo.svg

Keep filenames unchanged unless you also update references.

6. Demo Data

Seed scripts live in src/lib/db/seed.ts and src/lib/db/seed-demo.ts. Replace demo users, roles, activity, notifications, settings, and analytics before shipping a real deployment.

Use:

bash
rg "DEMO_CONTENT" src/

to find UI copy that should be replaced.

7. Admin Navigation

The TL02 sidebar is intentionally family-specific:

  • /dashboard
  • /users
  • /roles
  • /data
  • /security
  • /system
  • /audit-log

Edit src/components/layout/sidebar.tsx when adding or removing admin modules.

8. Invite-only Access

Create users from the /users admin module. Invitation emails send through the configured SMTP provider and land on /accept-invite.

Do not add anonymous account creation or public growth funnels unless you are intentionally turning this into a different Template Empire family.

9. Email Templates

Email templates live in src/lib/email/. Configure SMTP in .env to send real invitations, password resets, suspension notices, and role-change emails.

Without SMTP, emails log in development.

10. API Reference

/api/docs is generated from src/app/api/docs/openapi-spec.ts. Update that file when you add or remove routes.

Checklist Before Launch

  • Updated src/lib/site-config.ts with real brand and contacts.
  • Reviewed legal pages and COMPLIANCE.md.
  • Replaced demo seed data.
  • Replaced logo and favicon.
  • Set production JWT_SECRET.
  • Configured SMTP.
  • Set WEBHOOK_ENCRYPTION_KEY.
  • Ran pnpm typecheck && pnpm lint && pnpm build && pnpm audit:prod.