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.

All fields
| Field | Type | What it controls |
|---|---|---|
name | string | Your brand name. Shows in the header, page titles, emails. |
tagline | string | One-line pitch. Shows under the hero and in OG tags. |
description | string | Longer SEO description for meta tags. |
url | string | Canonical URL. Pulled from NEXT_PUBLIC_APP_URL env by default. |
logo.light | string | Path to logo shown on light backgrounds. |
logo.dark | string | Path to logo shown on dark backgrounds. |
favicon | string | Path to favicon. |
ogImage | string | Path to default Open Graph image (1200×630). |
social.twitter | string | Twitter/X handle or full URL. |
social.github | string? | GitHub link (optional). |
social.discord | string? | Discord invite link (optional). |
contact.email | string | Main contact email (shown in footer, About). |
contact.supportEmail | string | Support email for user help requests. |
contact.privacyEmail | string | Privacy/GDPR contact email. |
footer.copyright | string | Footer copyright text. |
footer.description | string | Footer tagline shown below the copyright. |
refParameter | string | UTM/ref param added to outbound links (e.g. ?ref=yourbrand). |
keywords | string[] | SEO keywords for meta tags. |
language | string | Primary language (en, ru, …). |
locale | string | Locale code (en_US, en_GB, …). |
themeColor | string | HEX color for browser UI (mobile address bar). |
Minimal example
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 changingNEXT_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:
- email: "{hello@yourdomain.com}"
- supportEmail: "{support@yourdomain.com}"
- privacyEmail: "{privacy@yourdomain.com}"
Social (use full URLs or @handle where noted; omit any I didn't provide):
- twitter: "{@handle}"
- github: "{https://github.com/org\}"
- discord: "{https://discord.gg/xxxx\}"
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.