Maintain documentation
Edit Markdown/MDX in the repository and review it with code.
Content location and languages
User documentation lives in apps/site/content/docs/, built with Fumadocs MDX and Next.js. Use ordinary Markdown in .mdx; add JSX only for components such as cards and callouts.
English uses page.mdx; Simplified Chinese uses page.zh-CN.mdx. Each language has matching sidebar metadata (meta.json / meta.zh-CN.json). Keep slugs and code examples aligned. Missing translations return 404 rather than silently showing another language.
Protocol and API references are available under docs/platform/.
Add a page
Create both language variants with frontmatter, and set sidebar order in each language's meta file:
---
title: Page title
description: A sentence explaining the problem this page solves.
---
## First step
Describe the action, prerequisites and expected result.Fumadocs generates sidebar, TOC, pagination and search. Shared MDX link components localize internal website and docs links while keeping /chat, /account and protocol endpoints stable. Avoid manually maintaining separate keyword lists.
Writing standards
- Explain capabilities, steps and expected results for readers. Keep engineering discussions, migration history and internal exchanges in development records.
- Illustrate architecture, connections and data flow with bilingual diagrams and text descriptions.
- Make commands runnable in the specified directory; use example.com or explicit placeholders.
- Explain software fees separately from infrastructure costs.
- Include version, platform, build and scenario for performance claims. Do not invent competitor comparisons.
- Maintain stable URLs and redirects. Missing pages must return 404.
- Translate titles, descriptions, body content and navigation, not just button labels. Review both languages when changing behavior.
SEO and validation
The build-time SITE_URL controls canonical URLs, hreflang, social cards, robots and sitemap output. Set it to the deployment's own origin. Console/account/admin routes are excluded from indexing; robots.txt is not access control.
pnpm dev
pnpm --filter @reignhub/site check
SITE_URL=https://reignhub.example.com pnpm build:webWith a local Worker running, execute pnpm exec tsx scripts/platform/smoke-site.mts http://localhost:8787 to check bilingual links, unknown-page 404s, localized search and SEO output. CI runs these checks too.
Check desktop, narrow screens, dark mode, language switching and search after UI changes. Documentation PRs follow the same checks as code.