docs: add bilingual product guides foundation - #144
Conversation
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (5)
📝 WalkthroughWalkthroughThe documentation update restructures Getting Started, adds bilingual governed-journey and Product Guides pages, revises navigation and redirects, removes fallback-translation notices, adds a ConceptMap component, and expands publication and navigation validation. ChangesDocumentation information architecture
Estimated code review effort: 4 (Complex) | ~45 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 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/getting-started/first-governed-journey.mdx`:
- Around line 66-89: Update the CapabilityGrid item titles in
apps/docs/content/docs/getting-started/first-governed-journey.mdx (lines 66-89)
and apps/docs/content/docs/getting-started/first-governed-journey.vi.mdx (lines
70-93) to use the canonical Title Case terms: “Prompt Template”, “Work
Instruction”, “Capability Pack”, and “Skill”.
In `@apps/docs/public-content.manifest.json`:
- Around line 13-67: Update the manifest entries for the affected routes and
their corresponding navigation metadata to use directory-backed content paths:
English pages must reference page.mdx and Vietnamese pages must reference
page.vi.mdx. Rename or relocate each existing index.mdx, named English .mdx, and
named Vietnamese .vi.mdx file accordingly, while preserving the current route
mappings and metadata.
In `@apps/docs/src/components/docs-patterns.tsx`:
- Around line 22-56: Remove role="img" and the associated aria-label from the
steps container in the docs-patterns component so assistive technologies can
access each step title and detail. Preserve the native figure/figcaption
semantics and existing visual layout.
🪄 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: 51ae8905-5b45-4ae4-8859-2968ea0d76ff
⛔ Files ignored due to path filters (3)
apps/docs/public/images/getting-started/asset-catalog.pngis excluded by!**/*.pngapps/docs/public/images/getting-started/capability-pack-journey.pngis excluded by!**/*.pngapps/docs/public/images/product-guides/asset-release-provenance.pngis excluded by!**/*.png
📒 Files selected for processing (28)
apps/docs/AUTHORING.mdapps/docs/content/docs/getting-started/core-concepts.mdxapps/docs/content/docs/getting-started/core-concepts.vi.mdxapps/docs/content/docs/getting-started/first-governed-journey.mdxapps/docs/content/docs/getting-started/first-governed-journey.vi.mdxapps/docs/content/docs/getting-started/index.mdxapps/docs/content/docs/getting-started/index.vi.mdxapps/docs/content/docs/getting-started/meta.jsonapps/docs/content/docs/getting-started/meta.vi.jsonapps/docs/content/docs/getting-started/quickstart.mdxapps/docs/content/docs/guides/deployment-operations/self-hosting.mdxapps/docs/content/docs/meta.jsonapps/docs/content/docs/meta.vi.jsonapps/docs/content/docs/product-guides/meta.jsonapps/docs/content/docs/product-guides/meta.vi.jsonapps/docs/content/docs/product-guides/work-with-governed-assets.mdxapps/docs/content/docs/product-guides/work-with-governed-assets.vi.mdxapps/docs/next.config.mjsapps/docs/package.jsonapps/docs/public-content.manifest.jsonapps/docs/scripts/check-docs.mjsapps/docs/src/app/[lang]/docs/[[...slug]]/page.tsxapps/docs/src/app/global.cssapps/docs/src/components/docs-patterns.tsxapps/docs/src/components/mdx.tsxapps/docs/src/lib/docs-category.tsapps/docs/src/lib/source.tsapps/docs/test/e2e/navigation.spec.ts
💤 Files with no reviewable changes (3)
- apps/docs/content/docs/getting-started/quickstart.mdx
- apps/docs/src/lib/source.ts
- apps/docs/src/app/[lang]/docs/[[...slug]]/page.tsx
📜 Review details
⏰ Context from checks skipped due to timeout. (1)
- GitHub Check: Public docs · Node 24
🧰 Additional context used
📓 Path-based instructions (10)
**/*
📄 CodeRabbit inference engine (CLAUDE.md)
**/*: Always read the repository guidance and relevant sections ofARCHITECTURE.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.
Readdocs/guidelines/agent-safety.mdbefore retrieval, AI, MCP, permission, upload, graph, or export work. Never commit secrets or customer data.
Files:
apps/docs/content/docs/product-guides/meta.vi.jsonapps/docs/content/docs/meta.vi.jsonapps/docs/content/docs/product-guides/meta.jsonapps/docs/content/docs/meta.jsonapps/docs/content/docs/getting-started/meta.jsonapps/docs/content/docs/guides/deployment-operations/self-hosting.mdxapps/docs/content/docs/getting-started/meta.vi.jsonapps/docs/src/components/mdx.tsxapps/docs/package.jsonapps/docs/content/docs/product-guides/work-with-governed-assets.mdxapps/docs/content/docs/product-guides/work-with-governed-assets.vi.mdxapps/docs/scripts/check-docs.mjsapps/docs/content/docs/getting-started/index.vi.mdxapps/docs/content/docs/getting-started/first-governed-journey.mdxapps/docs/public-content.manifest.jsonapps/docs/content/docs/getting-started/first-governed-journey.vi.mdxapps/docs/src/lib/docs-category.tsapps/docs/next.config.mjsapps/docs/src/app/global.cssapps/docs/content/docs/getting-started/core-concepts.vi.mdxapps/docs/content/docs/getting-started/index.mdxapps/docs/content/docs/getting-started/core-concepts.mdxapps/docs/src/components/docs-patterns.tsxapps/docs/AUTHORING.mdapps/docs/test/e2e/navigation.spec.ts
apps/docs/content/docs/**/*
📄 CodeRabbit inference engine (apps/docs/CLAUDE.md)
Public prose must live only in
content/docs; internal engineering documents are source evidence, not publication input.
Files:
apps/docs/content/docs/product-guides/meta.vi.jsonapps/docs/content/docs/meta.vi.jsonapps/docs/content/docs/product-guides/meta.jsonapps/docs/content/docs/meta.jsonapps/docs/content/docs/getting-started/meta.jsonapps/docs/content/docs/guides/deployment-operations/self-hosting.mdxapps/docs/content/docs/getting-started/meta.vi.jsonapps/docs/content/docs/product-guides/work-with-governed-assets.mdxapps/docs/content/docs/product-guides/work-with-governed-assets.vi.mdxapps/docs/content/docs/getting-started/index.vi.mdxapps/docs/content/docs/getting-started/first-governed-journey.mdxapps/docs/content/docs/getting-started/first-governed-journey.vi.mdxapps/docs/content/docs/getting-started/core-concepts.vi.mdxapps/docs/content/docs/getting-started/index.mdxapps/docs/content/docs/getting-started/core-concepts.mdx
apps/docs/**/meta*.json
📄 CodeRabbit inference engine (apps/docs/CLAUDE.md)
Keep root-folder names and descriptions aligned between
meta.jsonandmeta.vi.json; these files define the sidebar documentation switcher.
Files:
apps/docs/content/docs/product-guides/meta.vi.jsonapps/docs/content/docs/meta.vi.jsonapps/docs/content/docs/product-guides/meta.jsonapps/docs/content/docs/meta.jsonapps/docs/content/docs/getting-started/meta.jsonapps/docs/content/docs/getting-started/meta.vi.json
apps/docs/**/*
📄 CodeRabbit inference engine (apps/docs/CLAUDE.md)
Before handoff, run
pnpm --filter@orgmemory/docscheckandpnpm --filter@orgmemory/docsbuild.
Files:
apps/docs/content/docs/product-guides/meta.vi.jsonapps/docs/content/docs/meta.vi.jsonapps/docs/content/docs/product-guides/meta.jsonapps/docs/content/docs/meta.jsonapps/docs/content/docs/getting-started/meta.jsonapps/docs/content/docs/guides/deployment-operations/self-hosting.mdxapps/docs/content/docs/getting-started/meta.vi.jsonapps/docs/src/components/mdx.tsxapps/docs/package.jsonapps/docs/content/docs/product-guides/work-with-governed-assets.mdxapps/docs/content/docs/product-guides/work-with-governed-assets.vi.mdxapps/docs/scripts/check-docs.mjsapps/docs/content/docs/getting-started/index.vi.mdxapps/docs/content/docs/getting-started/first-governed-journey.mdxapps/docs/public-content.manifest.jsonapps/docs/content/docs/getting-started/first-governed-journey.vi.mdxapps/docs/src/lib/docs-category.tsapps/docs/next.config.mjsapps/docs/src/app/global.cssapps/docs/content/docs/getting-started/core-concepts.vi.mdxapps/docs/content/docs/getting-started/index.mdxapps/docs/content/docs/getting-started/core-concepts.mdxapps/docs/src/components/docs-patterns.tsxapps/docs/AUTHORING.mdapps/docs/test/e2e/navigation.spec.ts
apps/docs/content/docs/**/*.{md,mdx}
📄 CodeRabbit inference engine (apps/docs/CLAUDE.md)
apps/docs/content/docs/**/*.{md,mdx}: ThesourceRefsfrontmatter field provides build-time traceability and must never be rendered in public documentation.
Draft pages must remain excluded unlessDOCS_INCLUDE_DRAFTS=trueis set for a local or controlled preview.
Files:
apps/docs/content/docs/guides/deployment-operations/self-hosting.mdxapps/docs/content/docs/product-guides/work-with-governed-assets.mdxapps/docs/content/docs/product-guides/work-with-governed-assets.vi.mdxapps/docs/content/docs/getting-started/index.vi.mdxapps/docs/content/docs/getting-started/first-governed-journey.mdxapps/docs/content/docs/getting-started/first-governed-journey.vi.mdxapps/docs/content/docs/getting-started/core-concepts.vi.mdxapps/docs/content/docs/getting-started/index.mdxapps/docs/content/docs/getting-started/core-concepts.mdx
apps/docs/content/docs/**/*.mdx
📄 CodeRabbit inference engine (apps/docs/CLAUDE.md)
English pages remain named
page.mdxat/docs/...; Vietnamese translations must be added individually aspage.vi.mdxat/vi/docs/.... Do not bulk-copy or machine-publish untranslated pages.
Files:
apps/docs/content/docs/guides/deployment-operations/self-hosting.mdxapps/docs/content/docs/product-guides/work-with-governed-assets.mdxapps/docs/content/docs/product-guides/work-with-governed-assets.vi.mdxapps/docs/content/docs/getting-started/index.vi.mdxapps/docs/content/docs/getting-started/first-governed-journey.mdxapps/docs/content/docs/getting-started/first-governed-journey.vi.mdxapps/docs/content/docs/getting-started/core-concepts.vi.mdxapps/docs/content/docs/getting-started/index.mdxapps/docs/content/docs/getting-started/core-concepts.mdx
apps/docs/**/*.{js,jsx,ts,tsx,md,mdx}
📄 CodeRabbit inference engine (apps/docs/CLAUDE.md)
Verify unfamiliar Next.js and Fumadocs APIs against current official documentation or installed dependency types before using them.
Files:
apps/docs/content/docs/guides/deployment-operations/self-hosting.mdxapps/docs/src/components/mdx.tsxapps/docs/content/docs/product-guides/work-with-governed-assets.mdxapps/docs/content/docs/product-guides/work-with-governed-assets.vi.mdxapps/docs/content/docs/getting-started/index.vi.mdxapps/docs/content/docs/getting-started/first-governed-journey.mdxapps/docs/content/docs/getting-started/first-governed-journey.vi.mdxapps/docs/src/lib/docs-category.tsapps/docs/content/docs/getting-started/core-concepts.vi.mdxapps/docs/content/docs/getting-started/index.mdxapps/docs/content/docs/getting-started/core-concepts.mdxapps/docs/src/components/docs-patterns.tsxapps/docs/AUTHORING.mdapps/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/components/mdx.tsxapps/docs/src/lib/docs-category.tsapps/docs/src/components/docs-patterns.tsxapps/docs/test/e2e/navigation.spec.ts
apps/docs/content/docs/**/*.vi.mdx
📄 CodeRabbit inference engine (apps/docs/CLAUDE.md)
Vietnamese routes must visibly fall back to the reviewed English page until the matching
.vi.mdxexists; a fallback route is not a completed translation.
Files:
apps/docs/content/docs/product-guides/work-with-governed-assets.vi.mdxapps/docs/content/docs/getting-started/index.vi.mdxapps/docs/content/docs/getting-started/first-governed-journey.vi.mdxapps/docs/content/docs/getting-started/core-concepts.vi.mdx
apps/docs/**/public-content.manifest.json
📄 CodeRabbit inference engine (apps/docs/CLAUDE.md)
Every documentation page must be listed in
public-content.manifest.jsonand include the required typed frontmatter.
Files:
apps/docs/public-content.manifest.json
🧠 Learnings (2)
📚 Learning: 2026-07-28T20:06:14.930Z
Learnt from: kl3inIT
Repo: kl3inIT/OrgMemory PR: 112
File: apps/docs/content/docs/developers/api-reference/administration.mdx:11-11
Timestamp: 2026-07-28T20:06:14.930Z
Learning: In OrgMemory public documentation MDX files, ensure any `lastReviewed` dates are set using the repository project timezone `Asia/Bangkok`, not the reviewer’s local timezone or the runtime/build timezone. When generating or updating API-reference pages, intentionally use the exact same `lastReviewed` date convention as the authored public documentation pages to keep timestamps consistent across both sources.
Applied to files:
apps/docs/content/docs/guides/deployment-operations/self-hosting.mdxapps/docs/content/docs/product-guides/work-with-governed-assets.mdxapps/docs/content/docs/product-guides/work-with-governed-assets.vi.mdxapps/docs/content/docs/getting-started/index.vi.mdxapps/docs/content/docs/getting-started/first-governed-journey.mdxapps/docs/content/docs/getting-started/first-governed-journey.vi.mdxapps/docs/content/docs/getting-started/core-concepts.vi.mdxapps/docs/content/docs/getting-started/index.mdxapps/docs/content/docs/getting-started/core-concepts.mdx
📚 Learning: 2026-07-28T20:06:15.064Z
Learnt from: kl3inIT
Repo: kl3inIT/OrgMemory PR: 112
File: apps/docs/content/docs/developers/api-reference/authentication.mdx:12-12
Timestamp: 2026-07-28T20:06:15.064Z
Learning: In OrgMemory docs/tests that describe date-based review checks, treat the project timezone as Asia/Bangkok for all “date” comparisons/validations. Do not assume UTC when interpreting or validating fields like `lastReviewed`. For example, `lastReviewed: '2026-07-29'` should be considered valid when the effective “current date” in Asia/Bangkok is July 29, 2026 (not merely when the UTC date matches).
Applied to files:
apps/docs/content/docs/guides/deployment-operations/self-hosting.mdxapps/docs/content/docs/product-guides/work-with-governed-assets.mdxapps/docs/content/docs/product-guides/work-with-governed-assets.vi.mdxapps/docs/content/docs/getting-started/index.vi.mdxapps/docs/content/docs/getting-started/first-governed-journey.mdxapps/docs/content/docs/getting-started/first-governed-journey.vi.mdxapps/docs/content/docs/getting-started/core-concepts.vi.mdxapps/docs/content/docs/getting-started/index.mdxapps/docs/content/docs/getting-started/core-concepts.mdx
🪛 LanguageTool
apps/docs/content/docs/getting-started/index.vi.mdx
[duplication] ~38-~38: Posíbel erro tipográfico: hai unha palabra repetida.
Context: ... cập, nguồn gốc, phần phụ thuộc và lịch sử sử dụng. Nhân viên và tác nhân được cấp qu...
(WORD_REPETITION)
[locale-violation] ~49-~49: 'Pack' é un xenismo. É preferíbel dicir "conxunto" ou "embalaxe"
Context: ...hứng minh, Work Instruction, Capability Pack và Skill vào một registry thống nhất.',...
(GL_BARBARISM_REPLACE)
[locale-violation] ~74-~74: 'Pack' é un xenismo. É preferíbel dicir "conxunto" ou "embalaxe"
Context: ... Template, Work Instruction, Capability Pack hoặc Skill ở đúng phiên bản, kèm quyền ...
(GL_BARBARISM_REPLACE)
apps/docs/content/docs/getting-started/first-governed-journey.vi.mdx
[uncategorized] ~32-~32: L’asterisco si usa per un’omissione nel numero di tre consecutivi: "***".
Context: ...tup riêng. ## 1. Mở catalog Assets Mở Assets từ thanh điều hướng của sản phẩ...
(GR_09_001)
apps/docs/content/docs/getting-started/core-concepts.vi.mdx
[grammar] ~164-~164: Ensure spelling is correct
Context: ... hiện hành trình được quản trị đầu tiên. - Xem [mô tả hệ thống](/vi/docs/archite...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
apps/docs/content/docs/getting-started/core-concepts.mdx
[style] ~74-~74: Try using a synonym here to strengthen your writing.
Context: ... Knowledge Asset A Knowledge Asset gives that evidence a stable identity while i...
(GIVE_PROVIDE)
🔇 Additional comments (27)
apps/docs/content/docs/guides/deployment-operations/self-hosting.mdx (1)
47-49: LGTM!apps/docs/next.config.mjs (1)
8-9: LGTM!Also applies to: 27-32, 50-51
apps/docs/src/app/global.css (1)
16-26: LGTM!Also applies to: 35-37
apps/docs/src/lib/docs-category.ts (1)
3-3: LGTM!apps/docs/scripts/check-docs.mjs (1)
292-293: LGTM!Also applies to: 313-317
apps/docs/test/e2e/navigation.spec.ts (5)
16-22: LGTM!
24-30: LGTM!Also applies to: 63-63, 78-78
105-130: LGTM!
151-195: LGTM!
197-219: LGTM!Also applies to: 254-256, 342-342
apps/docs/package.json (1)
16-16: 📐 Maintainability & Code QualityRun the required docs validation before handoff.
The docs handoff requires
pnpm --filter@orgmemory/docscheckandpnpm --filter@orgmemory/docsbuild; the e2e navigation spec is present underapps/docs/test/e2e/navigation.spec.ts.apps/docs/AUTHORING.md (2)
15-17: LGTM!Also applies to: 48-154
185-188: 📐 Maintainability & Code QualityRun the required docs handoff gates.
Attach successful docs check/build output and the configured lint, typecheck, test, and browser-navigation verification results.
Source: Coding guidelines
apps/docs/content/docs/getting-started/meta.json (1)
3-9: LGTM!apps/docs/content/docs/meta.json (1)
5-5: LGTM!apps/docs/content/docs/meta.vi.json (1)
5-5: LGTM!apps/docs/content/docs/product-guides/meta.json (1)
1-10: LGTM!apps/docs/content/docs/product-guides/meta.vi.json (1)
1-10: LGTM!apps/docs/content/docs/getting-started/core-concepts.mdx (1)
3-166: LGTM!apps/docs/content/docs/getting-started/core-concepts.vi.mdx (1)
1-167: LGTM!apps/docs/content/docs/getting-started/index.mdx (1)
2-101: LGTM!apps/docs/content/docs/getting-started/index.vi.mdx (1)
1-103: LGTM! The static-analysis hints about word repetition ("lịch sử sử dụng") and "Pack" as a loanword are false positives (misapplied Galician rules); translation is accurate and consistent with the English page.apps/docs/src/components/docs-patterns.tsx (1)
1-1: LGTM! Wrappingnext/image's<Image>as children ofImageZoomwhile also passingalt/height/src/widthat the top level matches the documentedreact-medium-image-zoompattern (which fumadocs'ImageZoomwraps) for Next.js Image children plus higher-quality zoom-image attributes.Also applies to: 60-96
apps/docs/src/components/mdx.tsx (1)
8-8: LGTM!Also applies to: 21-21
apps/docs/content/docs/product-guides/work-with-governed-assets.mdx (1)
1-137: LGTM!apps/docs/content/docs/product-guides/work-with-governed-assets.vi.mdx (1)
1-139: LGTM!apps/docs/content/docs/getting-started/meta.vi.json (1)
3-9: 🗄️ Data Integrity & IntegrationPages list is aligned.
What changed
Why
The public portal is for a closed-source, self-hosted production product. It should teach the governed product workflow incrementally instead of exposing repository bootstrap or POC instructions. The new structure also lets the owner review and learn one English/Vietnamese document pair at a time.
Developer and reader impact
/docs/product-guidesand/vi/docs/product-guidespermanently redirect to the first guide.Workflow fix
The docs typecheck sequence now runs
next typegenbeforefumadocs-mdx. Under Node 24, the previous order could leave.source/server.tsempty before TypeScript validation.Validation
Run with Node
v24.14.0:Known separate issue
A pre-existing React hydration warning around Fumadocs
SidebarTabsDropdowncan appear on a fresh browser load, including on older Getting Started pages. This increment does not introduce it; it remains separate framework-integration debt.Summary by CodeRabbit
New Features
Updates
Bug Fixes