Skip to main content

Site Config

Your brand name, domain, logos, and contact info.

File: config/site.config.ts

This is the first file you'll edit. Everything in it — name, tagline, URL, contact emails — propagates across the whole site: header, footer, SEO tags, emails, Open Graph images.

config/site.config.ts open in the IDE

All fields

FieldTypeWhat it controls
namestringYour brand name. Shows in the header, page titles, emails.
taglinestringOne-line pitch. Shows under the hero and in OG tags.
descriptionstringLonger SEO description for meta tags.
urlstringCanonical URL. Pulled from NEXT_PUBLIC_APP_URL env by default.
logo.lightstringPath to logo shown on light backgrounds.
logo.darkstringPath to logo shown on dark backgrounds.
faviconstringPath to favicon.
ogImagestringPath to default Open Graph image (1200×630).
social.twitterstringTwitter/X handle or full URL.
social.githubstring?GitHub link (optional).
social.discordstring?Discord invite link (optional).
contact.emailstringMain contact email (shown in footer, About).
contact.supportEmailstringSupport email for user help requests.
contact.privacyEmailstringPrivacy/GDPR contact email.
footer.copyrightstringFooter copyright text.
footer.descriptionstringFooter tagline shown below the copyright.
refParameterstringUTM/ref param added to outbound links (e.g. ?ref=yourbrand).
keywordsstring[]SEO keywords for meta tags.
languagestringPrimary language (en, ru, …).
localestringLocale code (en_US, en_GB, …).
themeColorstringHEX color for browser UI (mobile address bar).

Minimal example

config/site.config.ts
export const siteConfig: SiteConfig = {
  name: 'ToolFinder',
  tagline: 'Discover the best developer tools',
  description: 'A curated directory of tools, libraries, and services for developers.',
  url: process.env.NEXT_PUBLIC_APP_URL || 'http://localhost:3000',
 
  logo: {
    light: '/assets/logo.svg',
    dark: '/assets/logo-white.svg',
  },
  favicon: '/assets/favicon/favicon.ico',
  ogImage: '/assets/og-image.png',
 
  social: {
    twitter: '@toolfinder',
  },
 
  contact: {
    email: 'hello@toolfinder.dev',
    supportEmail: 'support@toolfinder.dev',
    privacyEmail: 'privacy@toolfinder.dev',
  },
 
  footer: {
    copyright: `© ${new Date().getFullYear()} ToolFinder. All rights reserved.`,
    description: 'A curated directory of developer tools.',
  },
 
  refParameter: 'toolfinder',
  keywords: ['developer tools', 'SaaS directory', 'programming'],
  language: 'en',
  locale: 'en_US',
  themeColor: '#000000',
};

Replacing logos and images

Drop your files into public/assets/ using the same filenames the config references (logo.svg, logo-white.svg, favicon.ico, og-image.png). No code changes needed.

See Branding for sizes and best practices.

When to restart the server

  • Changes to name, tagline, contact, etc. — hot-reload handles it.
  • Changes to url (when also changing NEXT_PUBLIC_APP_URL) — restart the dev server to pick up the env var.

With AI

AI Prompt· Full rebrand of site.config.ts

Rebrand config/site.config.ts with these values:

Brand:

  • name: "{brand name}"
  • tagline: "{60-char one-liner}"
  • description: "{150-char SEO description}"

Contact:

Social (use full URLs or @handle where noted; omit any I didn't provide):

Footer:

  • copyright: "{© YEAR Brand. All rights reserved.}"
  • description: "{short footer tagline}"

SEO:

  • refParameter: "{slug for ref query param}"
  • keywords: [{5 niche keywords}]
  • language: "{en|ru|es|...}"
  • locale: "{en_US|ru_RU|...}"
  • themeColor: "{hex color for mobile browser UI}"

Preserve the existing SiteConfig type structure. Don't touch logo/favicon/ogImage paths.