Skip to content

feat(docs): add bilingual sectioned documentation shell - #129

Merged
kl3inIT merged 2 commits into
mainfrom
feat/docs-i18n-structure
Jul 29, 2026
Merged

feat(docs): add bilingual sectioned documentation shell#129
kl3inIT merged 2 commits into
mainfrom
feat/docs-i18n-structure

Conversation

@kl3inIT

@kl3inIT kl3inIT commented Jul 29, 2026

Copy link
Copy Markdown
Owner

What changed

  • add English and Vietnamese locale routing to the independent Fumadocs app
  • keep English canonical URLs under /docs/** and expose Vietnamese under /vi/docs/**
  • support adjacent page.vi.mdx translations with an explicit English fallback banner when a reviewed Vietnamese page is not available
  • organize the sidebar into five root sections: Start Here, System Design, Deploy & Operate, Govern & Administer, and Build & Integrate
  • localize section metadata and the Fumadocs interface without bulk-translating or duplicating the existing documentation corpus
  • update search, sitemap, LLM outputs, Open Graph routes, publication checks, and browser coverage for both locales
  • move the Next.js proxy into src/proxy.ts, matching this app's src/app layout

Why

The docs need a controlled bilingual structure before individual pages are reviewed and translated. This change establishes the routing and navigation contract while deliberately keeping content work page-by-page.

User and developer impact

  • existing English links remain stable
  • Vietnamese readers can use /vi/docs/** immediately and see a clear fallback for untranslated pages
  • future translations are added one reviewed page at a time as adjacent .vi.mdx files
  • no backend, product runtime, database, or public content claims are changed

Validation

  • corepack pnpm --filter @orgmemory/docs check
  • corepack pnpm --filter @orgmemory/docs build
  • corepack pnpm --filter @orgmemory/docs check:output
  • git diff --check
  • Playwright: 20 passed, 2 skipped across desktop/mobile, locale switching, fallback behavior, search, accessibility, route and security-header coverage

Local validation ran on Node 23.11.1 and emitted the repository's expected Node >=24 engine warning. GitHub CI is the Node 24 authority.

Summary by CodeRabbit

  • New Features

    • Added Vietnamese localization across documentation navigation, metadata, routes, search, and machine-readable content.
    • Added localized section switchers with clear fallback messaging for untranslated pages.
    • Updated documentation categories, labels, descriptions, and icons for clearer navigation.
    • Added language-aware canonical links, sitemap entries, and sharing previews.
  • Bug Fixes

    • Improved locale validation, routing consistency, and default-language redirects.
    • Updated search and link validation to support localized documentation.
  • Documentation

    • Expanded guidance for publishing and reviewing Vietnamese translations.

@coderabbitai

coderabbitai Bot commented Jul 29, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@kl3inIT, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 48 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 2f0ad705-cb84-4a2d-b273-cd9dbcc20990

📥 Commits

Reviewing files that changed from the base of the PR and between 1a584e9 and 85ebde4.

📒 Files selected for processing (3)
  • apps/docs/src/app/[lang]/docs/[[...slug]]/page.tsx
  • apps/docs/src/proxy.ts
  • apps/docs/test/e2e/navigation.spec.ts
📝 Walkthrough

Walkthrough

The docs app now supports English and Vietnamese locale routing, localized content and metadata, English fallback notices, locale-aware generated outputs, updated section navigation metadata, and expanded validation and end-to-end coverage.

Changes

Localized documentation experience

Layer / File(s) Summary
Locale and content contracts
apps/docs/src/lib/i18n.ts, apps/docs/src/lib/source.ts, apps/docs/src/lib/layout.shared.tsx, apps/docs/content/docs/*/meta*.json
Defines English/Vietnamese routing, translations, locale-aware content loading, fallback detection, localized navigation metadata, and language-specific layout options.
Localized routing and rendering
apps/docs/src/proxy.ts, apps/docs/src/app/[lang]/**
Adds locale redirects, Markdown rewrites, language-scoped layouts and pages, localized metadata, and visible fallback notices.
Localized outputs and validation
apps/docs/scripts/*, apps/docs/src/app/[lang]/llms*, apps/docs/src/app/[lang]/og/**, apps/docs/src/app/api/search/route.ts, apps/docs/src/app/sitemap.ts
Updates manifest, link, LLM, OG, search, and sitemap handling for localized routes.
Documentation guidance and end-to-end coverage
apps/docs/ARCHITECTURE.md, apps/docs/CLAUDE.md, apps/docs/test/e2e/navigation.spec.ts
Documents Vietnamese publication and reader behavior and tests localized navigation, search, accessibility, publication safety, and sitemap output.

Estimated code review effort: 4 (Complex) | ~45 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Browser
  participant Proxy
  participant DocsPage
  participant ContentSource
  Browser->>Proxy: Request /vi/docs/{slug}
  Proxy->>DocsPage: Route with locale vi
  DocsPage->>ContentSource: Resolve slug and locale
  ContentSource-->>DocsPage: Vietnamese page or English fallback
  DocsPage-->>Browser: Render localized page and fallback state
Loading

Possibly related PRs

  • kl3inIT/OrgMemory#110: Both changes update docs link scanning and navigation end-to-end tests around the public documentation corpus.
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: a bilingual, sectioned docs shell.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/docs-i18n-structure

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@kl3inIT

kl3inIT commented Jul 29, 2026

Copy link
Copy Markdown
Owner Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Jul 29, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@apps/docs/content/docs/meta.json`:
- Around line 5-8: Restore the existing external Changelog navigation entry in
apps/docs/content/docs/meta.json at lines 5-8, and add the same entry to
apps/docs/content/docs/meta.vi.json at lines 3-8 so both sidebars preserve the
shared link.

In `@apps/docs/src/app/`[lang]/docs/[[...slug]]/page.tsx:
- Around line 23-31: Update generateMetadata to handle an absent or empty
params.slug before calling source.getPage, matching Page’s behavior for the
optional [[...slug]] route. Normalize it to the docs home slug or return
metadata for the docsHome(params.lang) redirect, while preserving the existing
lookup for non-empty slugs.

In `@apps/docs/src/app/sitemap.ts`:
- Around line 6-11: Update the sitemap mapping around the page entries to
prepend the existing root “/” sitemap entry, then spread the localized page
mappings after it so the generated sitemap includes both the root URL and all
documentation pages.

In `@apps/docs/src/proxy.ts`:
- Around line 75-85: Add a CDN/edge caching rule for the docs routes `/docs/**`
and `/vi/docs/**` so shared cache entries are keyed by the `Accept` header or
shared caching is disabled, covering both HTML and Markdown responses. Keep the
existing `Vary` behavior in the `isMarkdownPreferred` and `rewriteLocalized`
flow. Run the docs checks, production build, and localized Playwright flow
afterward.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 03d04eba-e648-4c11-9098-f9f17e67ba6a

📥 Commits

Reviewing files that changed from the base of the PR and between 31aa86d and 1a584e9.

📒 Files selected for processing (37)
  • apps/docs/ARCHITECTURE.md
  • apps/docs/CLAUDE.md
  • apps/docs/content/docs/admins/meta.json
  • apps/docs/content/docs/admins/meta.vi.json
  • apps/docs/content/docs/architecture-security/meta.json
  • apps/docs/content/docs/architecture-security/meta.vi.json
  • apps/docs/content/docs/deployment/meta.json
  • apps/docs/content/docs/deployment/meta.vi.json
  • apps/docs/content/docs/developers/meta.json
  • apps/docs/content/docs/developers/meta.vi.json
  • apps/docs/content/docs/meta.json
  • apps/docs/content/docs/meta.vi.json
  • apps/docs/content/docs/overview/meta.json
  • apps/docs/content/docs/overview/meta.vi.json
  • apps/docs/proxy.ts
  • apps/docs/scripts/check-docs.mjs
  • apps/docs/scripts/check-links.ts
  • apps/docs/src/app/[lang]/docs/[[...slug]]/page.tsx
  • apps/docs/src/app/[lang]/docs/layout.tsx
  • apps/docs/src/app/[lang]/layout.tsx
  • apps/docs/src/app/[lang]/llms-full.txt/route.ts
  • apps/docs/src/app/[lang]/llms.mdx/docs/[[...slug]]/route.ts
  • apps/docs/src/app/[lang]/llms.txt/route.ts
  • apps/docs/src/app/[lang]/og/docs/[...slug]/route.tsx
  • apps/docs/src/app/[lang]/page.tsx
  • apps/docs/src/app/api/search/route.ts
  • apps/docs/src/app/docs/layout.tsx
  • apps/docs/src/app/layout.tsx
  • apps/docs/src/app/llms-full.txt/route.ts
  • apps/docs/src/app/llms.txt/route.ts
  • apps/docs/src/app/page.tsx
  • apps/docs/src/app/sitemap.ts
  • apps/docs/src/lib/i18n.ts
  • apps/docs/src/lib/layout.shared.tsx
  • apps/docs/src/lib/source.ts
  • apps/docs/src/proxy.ts
  • apps/docs/test/e2e/navigation.spec.ts
💤 Files with no reviewable changes (6)
  • apps/docs/src/app/llms-full.txt/route.ts
  • apps/docs/src/app/layout.tsx
  • apps/docs/src/app/docs/layout.tsx
  • apps/docs/proxy.ts
  • apps/docs/src/app/page.tsx
  • apps/docs/src/app/llms.txt/route.ts
📜 Review details
🧰 Additional context used
📓 Path-based instructions (7)
**/*

📄 CodeRabbit inference engine (CLAUDE.md)

**/*: Always read the repository guidance and relevant sections of ARCHITECTURE.md; before changing a domain, read its specification, test-coverage document, and binding decision filenames.
Treat the repository as the engineering system of record; current repository and runtime evidence take precedence over chat or Northstar.
Read docs/guidelines/agent-safety.md before retrieval, AI, MCP, permission, upload, graph, or export work. Never commit secrets or customer data.

Files:

  • apps/docs/content/docs/meta.vi.json
  • apps/docs/src/app/[lang]/page.tsx
  • apps/docs/src/app/[lang]/docs/layout.tsx
  • apps/docs/content/docs/deployment/meta.vi.json
  • apps/docs/content/docs/overview/meta.vi.json
  • apps/docs/content/docs/developers/meta.vi.json
  • apps/docs/src/lib/layout.shared.tsx
  • apps/docs/src/app/api/search/route.ts
  • apps/docs/scripts/check-links.ts
  • apps/docs/content/docs/admins/meta.vi.json
  • apps/docs/CLAUDE.md
  • apps/docs/src/app/[lang]/llms.txt/route.ts
  • apps/docs/src/app/sitemap.ts
  • apps/docs/content/docs/developers/meta.json
  • apps/docs/src/app/[lang]/llms-full.txt/route.ts
  • apps/docs/content/docs/deployment/meta.json
  • apps/docs/content/docs/meta.json
  • apps/docs/content/docs/admins/meta.json
  • apps/docs/content/docs/architecture-security/meta.json
  • apps/docs/ARCHITECTURE.md
  • apps/docs/src/lib/i18n.ts
  • apps/docs/src/app/[lang]/layout.tsx
  • apps/docs/src/app/[lang]/docs/[[...slug]]/page.tsx
  • apps/docs/content/docs/architecture-security/meta.vi.json
  • apps/docs/src/app/[lang]/llms.mdx/docs/[[...slug]]/route.ts
  • apps/docs/src/proxy.ts
  • apps/docs/src/app/[lang]/og/docs/[...slug]/route.tsx
  • apps/docs/scripts/check-docs.mjs
  • apps/docs/src/lib/source.ts
  • apps/docs/content/docs/overview/meta.json
  • apps/docs/test/e2e/navigation.spec.ts
apps/docs/content/docs/**/*

📄 CodeRabbit inference engine (apps/docs/CLAUDE.md)

Public prose must live only under content/docs; internal engineering documents are source evidence and must not be used as publication input.

Files:

  • apps/docs/content/docs/meta.vi.json
  • apps/docs/content/docs/deployment/meta.vi.json
  • apps/docs/content/docs/overview/meta.vi.json
  • apps/docs/content/docs/developers/meta.vi.json
  • apps/docs/content/docs/admins/meta.vi.json
  • apps/docs/content/docs/developers/meta.json
  • apps/docs/content/docs/deployment/meta.json
  • apps/docs/content/docs/meta.json
  • apps/docs/content/docs/admins/meta.json
  • apps/docs/content/docs/architecture-security/meta.json
  • apps/docs/content/docs/architecture-security/meta.vi.json
  • apps/docs/content/docs/overview/meta.json
apps/docs/content/docs/**/meta{,.vi}.json

📄 CodeRabbit inference engine (apps/docs/CLAUDE.md)

Keep root-folder names and descriptions aligned between meta.json and meta.vi.json; these files define the sidebar documentation switcher.

Files:

  • apps/docs/content/docs/meta.vi.json
  • apps/docs/content/docs/deployment/meta.vi.json
  • apps/docs/content/docs/overview/meta.vi.json
  • apps/docs/content/docs/developers/meta.vi.json
  • apps/docs/content/docs/admins/meta.vi.json
  • apps/docs/content/docs/developers/meta.json
  • apps/docs/content/docs/deployment/meta.json
  • apps/docs/content/docs/meta.json
  • apps/docs/content/docs/admins/meta.json
  • apps/docs/content/docs/architecture-security/meta.json
  • apps/docs/content/docs/architecture-security/meta.vi.json
  • apps/docs/content/docs/overview/meta.json
apps/docs/**/*

📄 CodeRabbit inference engine (apps/docs/CLAUDE.md)

Run pnpm --filter @orgmemory/docs check and pnpm --filter @orgmemory/docs build before handoff.

Files:

  • apps/docs/content/docs/meta.vi.json
  • apps/docs/src/app/[lang]/page.tsx
  • apps/docs/src/app/[lang]/docs/layout.tsx
  • apps/docs/content/docs/deployment/meta.vi.json
  • apps/docs/content/docs/overview/meta.vi.json
  • apps/docs/content/docs/developers/meta.vi.json
  • apps/docs/src/lib/layout.shared.tsx
  • apps/docs/src/app/api/search/route.ts
  • apps/docs/scripts/check-links.ts
  • apps/docs/content/docs/admins/meta.vi.json
  • apps/docs/CLAUDE.md
  • apps/docs/src/app/[lang]/llms.txt/route.ts
  • apps/docs/src/app/sitemap.ts
  • apps/docs/content/docs/developers/meta.json
  • apps/docs/src/app/[lang]/llms-full.txt/route.ts
  • apps/docs/content/docs/deployment/meta.json
  • apps/docs/content/docs/meta.json
  • apps/docs/content/docs/admins/meta.json
  • apps/docs/content/docs/architecture-security/meta.json
  • apps/docs/ARCHITECTURE.md
  • apps/docs/src/lib/i18n.ts
  • apps/docs/src/app/[lang]/layout.tsx
  • apps/docs/src/app/[lang]/docs/[[...slug]]/page.tsx
  • apps/docs/content/docs/architecture-security/meta.vi.json
  • apps/docs/src/app/[lang]/llms.mdx/docs/[[...slug]]/route.ts
  • apps/docs/src/proxy.ts
  • apps/docs/src/app/[lang]/og/docs/[...slug]/route.tsx
  • apps/docs/scripts/check-docs.mjs
  • apps/docs/src/lib/source.ts
  • apps/docs/content/docs/overview/meta.json
  • apps/docs/test/e2e/navigation.spec.ts
**/*.{js,jsx,ts,tsx}

📄 CodeRabbit inference engine (CLAUDE.md)

**/*.{js,jsx,ts,tsx}: Frontend verification must include lint, typecheck, tests, production build, and browser verification when the flow matters.
Before using unfamiliar React, Vite, Tailwind, TypeScript, Next.js, or Fumadocs APIs, consult current official documentation, Context7, and the relevant project verification skill.

Files:

  • apps/docs/src/app/[lang]/page.tsx
  • apps/docs/src/app/[lang]/docs/layout.tsx
  • apps/docs/src/lib/layout.shared.tsx
  • apps/docs/src/app/api/search/route.ts
  • apps/docs/scripts/check-links.ts
  • apps/docs/src/app/[lang]/llms.txt/route.ts
  • apps/docs/src/app/sitemap.ts
  • apps/docs/src/app/[lang]/llms-full.txt/route.ts
  • apps/docs/src/lib/i18n.ts
  • apps/docs/src/app/[lang]/layout.tsx
  • apps/docs/src/app/[lang]/docs/[[...slug]]/page.tsx
  • apps/docs/src/app/[lang]/llms.mdx/docs/[[...slug]]/route.ts
  • apps/docs/src/proxy.ts
  • apps/docs/src/app/[lang]/og/docs/[...slug]/route.tsx
  • apps/docs/src/lib/source.ts
  • apps/docs/test/e2e/navigation.spec.ts
apps/docs/**/*.{js,jsx,ts,tsx}

📄 CodeRabbit inference engine (apps/docs/CLAUDE.md)

Verify unfamiliar Next.js and Fumadocs APIs against current official documentation or the installed dependency types before using them.

Files:

  • apps/docs/src/app/[lang]/page.tsx
  • apps/docs/src/app/[lang]/docs/layout.tsx
  • apps/docs/src/lib/layout.shared.tsx
  • apps/docs/src/app/api/search/route.ts
  • apps/docs/scripts/check-links.ts
  • apps/docs/src/app/[lang]/llms.txt/route.ts
  • apps/docs/src/app/sitemap.ts
  • apps/docs/src/app/[lang]/llms-full.txt/route.ts
  • apps/docs/src/lib/i18n.ts
  • apps/docs/src/app/[lang]/layout.tsx
  • apps/docs/src/app/[lang]/docs/[[...slug]]/page.tsx
  • apps/docs/src/app/[lang]/llms.mdx/docs/[[...slug]]/route.ts
  • apps/docs/src/proxy.ts
  • apps/docs/src/app/[lang]/og/docs/[...slug]/route.tsx
  • apps/docs/src/lib/source.ts
  • apps/docs/test/e2e/navigation.spec.ts
apps/docs/**/CLAUDE.md

📄 CodeRabbit inference engine (apps/docs/CLAUDE.md)

Read the repository-root CLAUDE.md before this guidance and apps/docs/ARCHITECTURE.md.

Files:

  • apps/docs/CLAUDE.md
🧠 Learnings (1)
📚 Learning: 2026-07-28T20:06:14.375Z
Learnt from: kl3inIT
Repo: kl3inIT/OrgMemory PR: 112
File: apps/docs/scripts/generate-openapi.ts:211-219
Timestamp: 2026-07-28T20:06:14.375Z
Learning: When generating OrgMemory documentation and authored documentation metadata (e.g., `lastReviewed`), evaluate and format any generated/derived dates using the project timezone `Asia/Bangkok`. Ensure the generated dates stay consistent with the authored corpus when interpreted in that timezone (i.e., avoid UTC/local-time defaults or timezone drift during OpenAPI/docs generation).

Applied to files:

  • apps/docs/scripts/check-links.ts
🔇 Additional comments (31)
apps/docs/scripts/check-docs.mjs (1)

13-14: LGTM!

Also applies to: 76-85, 170-200, 286-316

apps/docs/scripts/check-links.ts (1)

17-21: LGTM!

apps/docs/src/app/[lang]/llms-full.txt/route.ts (1)

1-18: LGTM!

apps/docs/src/app/[lang]/llms.mdx/docs/[[...slug]]/route.ts (1)

3-13: LGTM!

Also applies to: 25-25

apps/docs/src/app/[lang]/llms.txt/route.ts (1)

1-16: LGTM!

apps/docs/src/app/[lang]/og/docs/[...slug]/route.tsx (1)

6-30: LGTM!

apps/docs/src/app/api/search/route.ts (1)

5-10: LGTM!

apps/docs/ARCHITECTURE.md (1)

9-22: LGTM!

Also applies to: 32-36

apps/docs/CLAUDE.md (1)

13-19: LGTM!

apps/docs/test/e2e/navigation.spec.ts (1)

24-55: LGTM!

Also applies to: 57-90, 110-130, 173-182, 204-221, 233-235

apps/docs/src/lib/i18n.ts (1)

1-72: LGTM!

apps/docs/content/docs/admins/meta.json (1)

2-9: LGTM!

apps/docs/content/docs/admins/meta.vi.json (1)

1-10: LGTM!

apps/docs/content/docs/overview/meta.vi.json (1)

1-12: LGTM!

apps/docs/src/lib/source.ts (1)

7-7: LGTM!

Also applies to: 16-53

apps/docs/src/lib/layout.shared.tsx (1)

2-12: LGTM!

apps/docs/src/proxy.ts (1)

1-74: LGTM!

Also applies to: 89-103

apps/docs/src/app/[lang]/layout.tsx (1)

1-68: LGTM!

apps/docs/src/app/[lang]/docs/layout.tsx (1)

1-26: LGTM!

apps/docs/src/app/[lang]/page.tsx (1)

1-9: LGTM!

apps/docs/content/docs/architecture-security/meta.json (1)

2-4: LGTM!

apps/docs/content/docs/architecture-security/meta.vi.json (1)

1-12: LGTM!

apps/docs/content/docs/deployment/meta.json (1)

2-4: LGTM!

apps/docs/content/docs/deployment/meta.vi.json (1)

1-9: LGTM!

apps/docs/content/docs/developers/meta.json (1)

2-4: LGTM!

apps/docs/content/docs/developers/meta.vi.json (1)

1-10: LGTM!

apps/docs/content/docs/overview/meta.json (1)

2-4: LGTM!

apps/docs/src/app/[lang]/docs/[[...slug]]/page.tsx (4)

1-6: LGTM!


23-31: 📐 Maintainability & Code Quality

Run the required frontend verification for the locale route.

This change affects redirects and localized rendering. Verify lint, typecheck, tests, production build, and browser flows for both English and Vietnamese docs paths.

As per coding guidelines, frontend flows must receive all five verification steps before handoff.

Source: Coding guidelines


48-53: LGTM!


97-107: LGTM!

Comment thread apps/docs/content/docs/meta.json
Comment thread apps/docs/src/app/[lang]/docs/[[...slug]]/page.tsx
Comment thread apps/docs/src/app/sitemap.ts
Comment thread apps/docs/src/proxy.ts Outdated
@kl3inIT
kl3inIT merged commit 60b098a into main Jul 29, 2026
14 checks passed
@kl3inIT
kl3inIT deleted the feat/docs-i18n-structure branch July 29, 2026 11:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant