Project structure
A map of the codebase — where routes, components, content, and config live.
The app follows the Next.js App Router layout, with a few conventions worth knowing before you start adding features.
Directory layout
src/
app/ App Router routes — [locale]/(marketing) for public pages,
[locale]/docs for the fumadocs shell, and the metadata routes
components/ Shared, app-local components (mdx + json-ld helpers)
features/ Feature modules (e.g. blog, legal) — components + types together
lib/ i18n, metadata, and the fumadocs source loaders
env.ts Validated environment schema
content/ MDX for docs, blog, legal, and authors
public/ Static assets (including the committed cover/avatar images)Routing
All pages live under src/app/[locale] so they are locale-aware and statically
generated. The marketing surfaces (home, blog, legal, authors) share a layout in
the (marketing) route group; the docs section brings its own fumadocs shell.
Content
Docs, blog posts, legal pages, and authors are MDX files under content/,
loaded through fumadocs. Add a file, and it shows up — no registration step:
content/blog/my-post.mdx → /blog/my-post
content/docs/my-page.mdx → /docs/my-pageInternationalization & SEO
Locale routing, canonical URLs, and the hreflang/JSON-LD wiring are already in place — see the Guides for how they fit together.