Vibekit

Add a documentation page

Create Markdown in the content folder, register it in meta.json, and match every locale

Create .md or .mdx under apps/web/content/docs/. Keep related pages in the existing topic folders; a filename becomes its slug, and index represents the folder root.

Frontmatter and navigation

Every page needs title; subtitle is the text rendered below the title and used by this route's metadata. The schema in apps/web/modules/docs/source.ts extends Fumadocs pageSchema with this field.

---
title: Billing webhooks
subtitle: How signed events update a team subscription
---

Add the slug to pages in the nearest meta.json to control sidebar order. Update meta.de.json as well. Keep root groups in apps/web/content/docs/meta.json aligned with their localized counterpart.

Translation coverage

English uses unsuffixed files, and German uses dot suffixes such as overview.de.mdx. Both are maintained documentation languages. Other configured UI locales currently use the default-language fallback. Translate new English pages into German and preserve the same examples, commands, links and warnings. Do not create untranslated copies for other locale codes.

The route reads NEXT_LOCALE; public page URLs remain flat. See Adding Locales before expanding language coverage.

Components and checks

Use components provided by apps/web/modules/docs/mdx-components.tsx, including Callout, Cards, Steps and Step. Add any new custom component there before referencing it in content.

bun run agent:i18n --strict
bun run build

Preview with bun run dev and open /docs. Check the page, localized navigation and fallback behavior. See the official Fumadocs documentation for framework-specific authoring features.

On this page