Configuration

Reference for site.config.ts and the SiteConfig schema.

site.config.ts

site.config.ts at the project root is the single file to edit when forking the project. It exports a default object typed against SiteConfig.

import type { SiteConfig } from '@/lib/site';
 
const siteConfig: SiteConfig = {
  name: 'My Site',
  description: 'A short description of my site.',
  url: 'https://example.com',
  author: 'Your Name',
  repository: 'https://github.com/you/your-repo',
  branch: 'main',
};
 
export default siteConfig;

SiteConfig schema

Defined in src/lib/site.ts:

FieldTypeRequiredDescription
namestringYesSite name. Used as the default <title>, in the title template, and in the sidebar logo.
descriptionstringYesDefault meta description for the root page.
urlstringYesCanonical base URL. Used in metadataBase and sitemap.xml. Must not have a trailing slash.
authorstringNoSite author. Shown in the sidebar copyright notice.
repositorystringNoFull URL of the source repository. Enables the "Edit on GitHub" link in the sidebar.
branchstringNoBranch to link to in "Edit on GitHub". Defaults to main when repository is set.

Where values are consumed

ValueConsumed by
namesrc/app/layout.tsxmetadata.title; src/components/Sidebar.tsx — logo text and icon letter
descriptionsrc/app/layout.tsxmetadata.description
urlsrc/app/layout.tsxmetadata.metadataBase; src/app/sitemap.ts — URL prefix in sitemap entries
authorsrc/components/Sidebar.tsx — copyright notice in sidebar footer
repositorysrc/components/Sidebar.tsx — "Edit on GitHub" link in sidebar footer
branchsrc/components/Sidebar.tsx — branch segment in "Edit on GitHub" URL