-
Notifications
You must be signed in to change notification settings - Fork 4
fix(docs): reorginaize docs folder and update coderabbit config #50
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
WalkthroughThis pull request reorganizes the documentation governance structure and site architecture. Changes include updating CI/CD workflows to scope docs to a new hierarchy (docs/docs/ for latest, docs/v/ for archived), restructuring navigation in docs.json from flat versions to dropdown-based organization with Documentation and Blog sections, refactoring README formatting, and introducing new blog infrastructure with posts and styling. Changes
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes
Possibly related PRs
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 3
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
docs/draft/docs/servers/server.mdx (1)
1-107: Move file to correct human-editable path:docs/draft-docs/servers/server.mdxThe file is currently in
docs/draft/docs/servers/server.mdx, which contradicts configuration guidance:
.coderabbit.yaml(line 44) designatesdocs/draft-docs/**as the canonical location for human-editable drafts.github/workflows/codex-mintlify-docs.yml(lines 162–164) treatsdocs/draft/docs/**as read-only automation territory: "You may read these for context but must not modify them"- The
docs/draft-docs/directory does not currently exist and must be created as part of this changeMove
docs/draft/docs/servers/server.mdxtodocs/draft-docs/servers/server.mdxto align with the documented governance model.
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (12)
.coderabbit.yaml(2 hunks).github/workflows/codex-mintlify-docs.yml(4 hunks)README.md(4 hunks)docs/docs.json(1 hunks)docs/docs/getting-started/welcome.mdx(1 hunks)docs/docs/v/0.1/getting-started/welcome.mdx(1 hunks)docs/docs/v/0.2/getting-started/welcome.mdx(1 hunks)docs/draft/docs/deployment/local-dev-server.mdx(1 hunks)docs/draft/docs/getting-started/welcome.mdx(1 hunks)docs/draft/docs/servers/authentication/overview.mdx(1 hunks)docs/draft/docs/servers/server.mdx(2 hunks)docs/updates.mdx(3 hunks)
🧰 Additional context used
📓 Path-based instructions (3)
docs/docs/**
⚙️ CodeRabbit configuration file
docs/docs/**: This folder contains the latest Mintlify documentation for the CURRENT minor version, using SEO-friendly paths (e.g. "docs/getting-started/welcome"). These files are generated/updated by the Codex GitHub Action, NOT manually. When reviewing a PR: - If a contributor edits files under docs/docs/** directly, ask them to revert
those changes and instead update the corresponding draft under docs/draft-docs/**.
- Do NOT suggest manual edits here; suggest editing drafts and letting automation
regenerate docs/docs/**.- The release process for a new minor is:
- Copy the current docs/docs/** into docs/v/{previous-minor}/** to freeze them.
- Update docs/docs/** based on docs/draft-docs/** and the code changes.
Files:
docs/docs/v/0.2/getting-started/welcome.mdxdocs/docs/v/0.1/getting-started/welcome.mdxdocs/docs/getting-started/welcome.mdx
docs/**
⚙️ CodeRabbit configuration file
docs/**: Repository documentation for the SDK, using MDX and hosted by Mintlify. See more specific rules for: - docs/docs/** (latest rendered docs, automation-only) - docs/v/** (archived versions, read-only) - docs/draft-docs/** (human-editable drafts) - docs/blogs/** (blogs, human edited) - docs/docs.json (Mintlify navigation)
Files:
docs/docs/v/0.2/getting-started/welcome.mdxdocs/draft/docs/servers/authentication/overview.mdxdocs/draft/docs/servers/server.mdxdocs/updates.mdxdocs/docs/v/0.1/getting-started/welcome.mdxdocs/draft/docs/getting-started/welcome.mdxdocs/draft/docs/deployment/local-dev-server.mdxdocs/docs/getting-started/welcome.mdxdocs/docs.json
docs/docs.json
⚙️ CodeRabbit configuration file
docs/docs.json: Mintlify navigation configuration. Important structure: - dropdowns[].dropdown == "Documentation":
- Contains a "versions" array.
- Latest version entry: "version": "vX.Y (latest)", "default": true, with
paths like "docs/getting-started/welcome" and "updates" (NO "v/X.Y" prefix).- Older versions: "version": "v0.2", "version": "v0.1", etc., with paths
like "docs/v/0.2/getting-started/welcome".- dropdowns[].dropdown == "Blog":
- Contains blog groups (e.g. "blog/november-2025/introducing-frontmcp").
Review guidelines: - Do NOT suggest editing the Blog dropdown unless the PR explicitly adds/changes blogs. - Ensure latest version uses non-versioned "docs/..." paths, and older versions
use "docs/v/{minor}/..." paths.- If you see changes that try to route archived versions away from docs/v/**,
flag that as incorrect.
Files:
docs/docs.json
🧬 Code graph analysis (1)
.github/workflows/codex-mintlify-docs.yml (1)
scripts/apply-doc-patches.mjs (1)
fss(45-125)
🔇 Additional comments (15)
docs/draft/docs/deployment/local-dev-server.mdx (1)
33-33: LGTM—minor markdown formatting fix.Normalizing the code fence syntax is a good housekeeping change and doesn't affect rendering.
docs/draft/docs/servers/authentication/overview.mdx (1)
13-17: LGTM—helpful clarification ofsplitByAppbehavior.The added Tip clearly explains how scope reuse and auto-targeting work when
splitByAppis enabled, improving user understanding of the auth flow.README.md (1)
46-69: LGTM—consistent bullet formatting.Bullet list normalization from
*to-improves consistency with modern markdown conventions. No content changes.Also applies to: 334-349
docs/draft/docs/getting-started/welcome.mdx (1)
3-3: LGTM—metadata update in the correct draft location.Adding
sidebarTitlehere is the right approach. Once automation regeneratesdocs/docs/getting-started/welcome.mdx, this metadata will be reflected in the published docs.docs/updates.mdx (1)
11-11: LGTM—internal routing aligned with new docs structure.The switch from external docs links to internal paths (
/docs,/docs/v/0.2/,/docs/v/0.1/) is consistent with the reorganized documentation hierarchy. Ensure these routes are registered indocs/docs.json(or your Mintlify navigation config) so they resolve correctly.Please confirm that the internal doc paths
/docs,/docs/v/0.2/, and/docs/v/0.1/are properly configured in your Mintlify navigation file (typicallydocs/docs.json).Also applies to: 35-35, 70-70
docs/docs/getting-started/welcome.mdx (1)
3-3: ⛔ This review comment is incorrect.Verification reveals:
docs/draft-docs/directory does not exist in the codebase (contradicting the claim that the draft file exists)docs/docs/getting-started/welcome.mdxhas no uncommitted changes in this PR (working tree clean)- The
sidebarTitlewas already present in the file before this PRNo manual edits are being made to this file, and no revert is needed. The coding guideline violation cited does not apply.
Likely an incorrect or invalid review comment.
docs/docs/v/0.2/getting-started/welcome.mdx (1)
2-3: The review comment is incorrect and should be disregarded.The file
docs/docs/v/0.2/getting-started/welcome.mdxis a frozen archived version for v0.2 documentation, not a current/latest doc subject to automation-only restrictions. Per the coding guidelines, versioned docs indocs/v/{version}/are created as frozen snapshots and are expected to differ from the current latest docs.Key issues with the review comment:
- Path guidance is wrong: References non-existent
docs/draft-docs/v/0.2/directory; the actual structure isdocs/draft/docs/(unversioned)- Governance misapplied: The "automation-only" rule applies to
docs/docs/**(current latest), not todocs/docs/v/X.Y/**(frozen versions)- Expected divergence: Versioned archived docs intentionally contain version-specific changes (like the "v0.2" title), which is correct
The changes are appropriate and require no action.
Likely an incorrect or invalid review comment.
.github/workflows/codex-mintlify-docs.yml (2)
350-360: Verify patch schema regex matches all allowed pathsThe regex pattern on line 353 restricts patches to:
^(docs\/docs\/.+\.(md|mdx)|docs\/updates\.mdx|docs\/docs\.json|CHANGELOG\.md|README\.md|libs\/.+\/README\.md)$Ensure this matches the paths listed in the prompt (lines 174-186). The pattern appears complete, but confirm that
docs/updates.mdxis the only global release notes file and that no otherdocs/paths should be allowed.
138-193: Documentation governance in Codex prompt is clear and comprehensiveThe expanded sections (lines 150–193) clearly delineate doc folders, allowed/disallowed modifications, and versioning semantics. This aligns well with the coding guidelines and provides good guardrails for Codex.
.coderabbit.yaml (2)
95-100: Newlibs/**instruction appropriately addedThe addition of SDK library governance (lines 95–100) aligns with the PR objective and ensures API changes are paired with corresponding
docs/draft-docs/**updates rather than direct edits to generated docs.
102-119: Expandedpath_filtersare reasonable for build artifacts and lock filesThe additional exclusions (
.parcel-cache,.swc, lock files via glob pattern) reduce noise in reviews without affecting documentation or core library code.docs/docs.json (4)
57-135: Navigation structure correctly implements versioning semanticsThe latest version (v0.3) uses:
"version": "v0.3 (latest)"with"default": true✓- Non-versioned paths like
"docs/getting-started/welcome","docs/servers/server"✓- New "tag" fields on groups (e.g.,
"tag": "latest") for clarity ✓This aligns with the coding guidelines and Codex workflow expectations.
138-200: Archived versions use correct path prefixesv0.2 and v0.1 correctly use
"docs/v/{minor}/..."paths (e.g.,"docs/v/0.2/servers/server","docs/v/0.1/servers/server") and are not marked as default. This prevents routing conflicts and maintains historical snapshots.Also applies to: 203-266
269-278: New Blog dropdown is properly separatedThe Blog dropdown is distinct from Documentation and does not interfere with version navigation. However, verify that the blog path
"blog/november-2025/introducing-frontmcp"has a corresponding file or is planned for a separate commit.
1-280: Navigation paths are correct and consistent—no issues foundThe review comment misidentifies the path mapping. All navigation references in
docs/docs.jsoncorrectly map to existing files:
- Latest version paths like
"docs/getting-started/welcome"correctly map to./docs/docs/getting-started/welcome.mdx- Versioned paths like
"docs/v/0.2/getting-started/welcome"correctly map to./docs/docs/v/0.2/getting-started/welcome.mdx- All referenced files exist in their expected locations
The repository uses
./docs/draft/docs/for draft documentation instead of the guideline-suggesteddocs/draft-docs/, but this is a structural choice and does not create path inconsistencies in the navigation configuration. The navigation config is valid and all paths resolve correctly.Likely an incorrect or invalid review comment.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
🧹 Nitpick comments (1)
docs/snippets/card.jsx (1)
3-13: Consider extracting nested components for better performance.The
ByandTitlecomponents are defined insideBlogCard, which means they're recreated on every render. While this works correctly, extracting them outside the parent component can improve performance and reusability.Apply this diff to extract the nested components:
+const By = ({author, date}) => { + return <div className='blog-by text-xs font-medium text-gray-700 dark:text-gray-300 mt-4 text-right'> + <span className='date'>{date}</span> · <span className='author'>{author}</span> + </div> +} + +const Title = ({children}) => { + return <h2 data-component-part="card-title" className='font-semibold text-base text-gray-800 dark:text-white group-hover:text-primary dark:group-hover:text-primary-light'> + {children} + </h2> +} + export const BlogCard = ({author, date, title, link, img, cta, children}) => { - - const By = ({author, date}) => { - return <div className='blog-by text-xs font-medium text-gray-700 dark:text-gray-300 mt-4 text-right'> - <span className='date'>{date}</span> · <span className='author'>{author}</span> - </div> - } - - const Title = ({children}) => { - return <h2 data-component-part="card-title" className='font-semibold text-base text-gray-800 dark:text-white group-hover:text-primary dark:group-hover:text-primary-light'> - {children} - </h2> - } return <div className='blog-card'>
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (9)
docs/blog/11-2025/introducing-frontmcp.mdx(1 hunks)docs/blog/external-links.mdx(1 hunks)docs/blog/external-links/docs.mdx(1 hunks)docs/blog/external-links/github.mdx(1 hunks)docs/blog/external-links/updates.mdx(1 hunks)docs/blog/index.mdx(1 hunks)docs/blog/style.css(1 hunks)docs/docs.json(2 hunks)docs/snippets/card.jsx(1 hunks)
✅ Files skipped from review due to trivial changes (4)
- docs/blog/external-links/github.mdx
- docs/blog/external-links/updates.mdx
- docs/blog/index.mdx
- docs/blog/external-links/docs.mdx
🧰 Additional context used
📓 Path-based instructions (2)
docs/**
⚙️ CodeRabbit configuration file
docs/**: Repository documentation for the SDK, using MDX and hosted by Mintlify. See more specific rules for: - docs/docs/** (latest rendered docs, automation-only) - docs/v/** (archived versions, read-only) - docs/draft-docs/** (human-editable drafts) - docs/blogs/** (blogs, human edited) - docs/docs.json (Mintlify navigation)
Files:
docs/snippets/card.jsxdocs/blog/style.cssdocs/blog/11-2025/introducing-frontmcp.mdxdocs/blog/external-links.mdxdocs/docs.json
docs/docs.json
⚙️ CodeRabbit configuration file
docs/docs.json: Mintlify navigation configuration. Important structure: - dropdowns[].dropdown == "Documentation":
- Contains a "versions" array.
- Latest version entry: "version": "vX.Y (latest)", "default": true, with
paths like "docs/getting-started/welcome" and "updates" (NO "v/X.Y" prefix).- Older versions: "version": "v0.2", "version": "v0.1", etc., with paths
like "docs/v/0.2/getting-started/welcome".- dropdowns[].dropdown == "Blog":
- Contains blog groups (e.g. "blog/november-2025/introducing-frontmcp").
Review guidelines: - Do NOT suggest editing the Blog dropdown unless the PR explicitly adds/changes blogs. - Ensure latest version uses non-versioned "docs/..." paths, and older versions
use "docs/v/{minor}/..." paths.- If you see changes that try to route archived versions away from docs/v/**,
flag that as incorrect.
Files:
docs/docs.json
🪛 LanguageTool
docs/blog/external-links.mdx
[uncategorized] ~13-~13: The official name of this software platform is spelled with a capital “H”.
Context: ...ithub.com/agentfront/frontmcp"} title={"Github Repo"} horizontal arrow icon='github'> ...
(GITHUB)
[uncategorized] ~13-~13: The official name of this software platform is spelled with a capital “H”.
Context: ...={"Github Repo"} horizontal arrow icon='github'> FrontMCP source code on Github </...
(GITHUB)
[uncategorized] ~14-~14: The official name of this software platform is spelled with a capital “H”.
Context: ...n='github'> FrontMCP source code on Github <Card href={"/updates"} title={...
(GITHUB)
🔇 Additional comments (6)
docs/blog/style.css (1)
1-61: LGTM!The blog card styling is well-structured with proper responsive design for mobile viewports. The use of
data-component-partattributes provides clean separation between styling and markup.docs/blog/external-links.mdx (1)
10-21: LGTM!The Quick Links structure provides clear navigation to key FrontMCP resources. The mix of internal and external links aligns well with the new documentation structure.
docs/blog/11-2025/introducing-frontmcp.mdx (1)
1-332: LGTM!This comprehensive blog post effectively introduces FrontMCP with clear structure, practical examples, and helpful navigation. The internal link paths align correctly with the new documentation structure established in this PR.
docs/docs.json (2)
57-267: LGTM! Navigation structure follows coding guidelines correctly.The navigation restructuring from a flat versions array to a tiered dropdowns system is well-executed:
- Latest version (v0.3) correctly uses non-versioned
docs/...paths- Older versions (v0.2, v0.1) correctly use versioned
docs/v/{minor}/...paths- Consistent structure across all version entries
- Proper use of the
default: trueflag for the latest versionThis aligns perfectly with the coding guidelines for Mintlify navigation configuration.
Based on coding guidelines
268-286: LGTM! Blog dropdown structure is appropriate.The new Blog dropdown with November 2025 content aligns with the blog files added in this PR (introducing-frontmcp.mdx, external-links.mdx, etc.). The organization into General and dated groups provides clear navigation for blog content.
docs/snippets/card.jsx (1)
18-18: Unable to locate Card component definition for verification.The
Cardcomponent is used indocs/snippets/card.jsxbut:
- Missing import: The file contains no import statement for
Card- No definition found: Searching the entire codebase yields no
Cardcomponent definitionWithout access to the
Cardcomponent definition, the arrow prop type cannot be verified. The file appears to be incomplete example code for the Mintlify documentation site.Action required: Confirm where
Cardis imported from and verify its prop type signature to determine ifarrowshould be"true"(string) ortrue(boolean).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
♻️ Duplicate comments (1)
docs/blog/external-links.mdx (1)
13-14: Correct the GitHub capitalization in link text.The official brand name uses a capital "H": "GitHub" not "Github".
Apply this diff to fix the capitalization:
- FrontMCP source code on Github + FrontMCP source code on GitHub
🧹 Nitpick comments (1)
docs/blog/11-2025/mcp-run-out-of-socket.mdx (1)
28-29: Consider varying sentence beginnings for prose flow (optional).LanguageTool notes suggest some repeated sentence structures. For example, lines 28–29 and 67–68 repeat opening phrases. While the current version is clear, adding variety would improve readability:
- Lines 28–29: The numbered list structure repeats "You"; consider rewording slightly for flow.
- Lines 67–68: The bullet list repeats "Maybe"; consider phrasing differently (e.g., "Perhaps," "One might think," etc.).
This is a nice-to-have stylistic refinement for a future pass.
Also applies to: 67-68, 127-127
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (15)
docs/assets/banners/frontmcp-vs-standardmcp.dark.pngis excluded by!**/*.pngdocs/assets/banners/frontmcp-vs-standardmcp.light.pngis excluded by!**/*.pngdocs/assets/banners/mcp-run-out-of-socket.svgis excluded by!**/*.svg,!**/*.svgdocs/assets/logo/banner.dark.pngis excluded by!**/*.pngdocs/assets/logo/banner.light.pngis excluded by!**/*.pngdocs/assets/logo/favicon-32x32.pngis excluded by!**/*.pngdocs/assets/logo/favicon.icois excluded by!**/*.icodocs/assets/logo/frontmcp.dark.pngis excluded by!**/*.pngdocs/assets/logo/frontmcp.dark.svgis excluded by!**/*.svg,!**/*.svgdocs/assets/logo/frontmcp.light.pngis excluded by!**/*.pngdocs/assets/logo/frontmcp.light.svgis excluded by!**/*.svg,!**/*.svgdocs/assets/logo/logo.dark.pngis excluded by!**/*.pngdocs/assets/logo/logo.dark.svgis excluded by!**/*.svg,!**/*.svgdocs/assets/logo/logo.light.pngis excluded by!**/*.pngdocs/assets/logo/logo.light.svgis excluded by!**/*.svg,!**/*.svg
📒 Files selected for processing (9)
.coderabbit.yaml(2 hunks)README.md(5 hunks)docs/blog/11-2025/introducing-frontmcp.mdx(1 hunks)docs/blog/11-2025/mcp-run-out-of-socket.mdx(1 hunks)docs/blog/external-links.mdx(1 hunks)docs/blog/index.mdx(1 hunks)docs/blog/style.css(1 hunks)docs/docs.json(3 hunks)docs/snippets/card.jsx(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (4)
- docs/blog/11-2025/introducing-frontmcp.mdx
- docs/snippets/card.jsx
- docs/blog/style.css
- docs/blog/index.mdx
🧰 Additional context used
📓 Path-based instructions (2)
docs/**
⚙️ CodeRabbit configuration file
docs/**: Repository documentation for the SDK, using MDX and hosted by Mintlify. See more specific rules for: - docs/docs/** (latest rendered docs, automation-only) - docs/v/** (archived versions, read-only) - docs/draft/docs/** (human-editable drafts) - docs/blogs/** (blogs, human edited) - docs/docs.json (Mintlify navigation)
Files:
docs/blog/11-2025/mcp-run-out-of-socket.mdxdocs/docs.jsondocs/blog/external-links.mdx
docs/docs.json
⚙️ CodeRabbit configuration file
docs/docs.json: Mintlify navigation configuration. Important structure: - dropdowns[].dropdown == "Documentation":
- Contains a "versions" array.
- Latest version entry: "version": "vX.Y (latest)", "default": true, with
paths like "docs/getting-started/welcome" and "updates" (NO "v/X.Y" prefix).- Older versions: "version": "v0.2", "version": "v0.1", etc., with paths
like "docs/v/0.2/getting-started/welcome".- dropdowns[].dropdown == "Blog":
- Contains blog groups (e.g. "blog/november-2025/introducing-frontmcp").
Review guidelines: - Do NOT suggest editing the Blog dropdown unless the PR explicitly adds/changes blogs. - Ensure latest version uses non-versioned "docs/..." paths, and older versions
use "docs/v/{minor}/..." paths.- If you see changes that try to route archived versions away from docs/v/**,
flag that as incorrect.
Files:
docs/docs.json
🧠 Learnings (2)
📓 Common learnings
Learnt from: frontegg-david
Repo: agentfront/frontmcp PR: 50
File: docs/docs/v/0.1/getting-started/welcome.mdx:2-3
Timestamp: 2025-11-16T22:47:05.113Z
Learning: In the agentfront/frontmcp repository, the docs/docs/v/** directory governance rule prohibiting manual edits applies to already-frozen releases, but does not preclude initial setup and bootstrap commits that establish the versioned docs structure.
📚 Learning: 2025-11-16T22:47:05.113Z
Learnt from: frontegg-david
Repo: agentfront/frontmcp PR: 50
File: docs/docs/v/0.1/getting-started/welcome.mdx:2-3
Timestamp: 2025-11-16T22:47:05.113Z
Learning: In the agentfront/frontmcp repository, the docs/docs/v/** directory governance rule prohibiting manual edits applies to already-frozen releases, but does not preclude initial setup and bootstrap commits that establish the versioned docs structure.
Applied to files:
.coderabbit.yaml
🪛 LanguageTool
docs/blog/11-2025/mcp-run-out-of-socket.mdx
[style] ~28-~28: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ... the example that spins up a server. 3. You attach a transport (stdio, HTTP, SSE, o...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[style] ~29-~29: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...dio, HTTP, SSE, or Streamable HTTP). 4. You connect an MCP client, see your tools, ...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[style] ~67-~67: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...rt: - “Maybe stdio is the problem.” - “Maybe SSE is the problem.” - “Maybe I should ...
(REP_MAYBE)
[style] ~68-~68: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...blem.” - “Maybe SSE is the problem.” - “Maybe I should just switch to Streamable HTTP...
(REP_MAYBE)
[style] ~70-~70: Consider a different adjective to strengthen your wording.
Context: ...l be fine.” Transport matters, but the deeper issue is independent of the wire: - If...
(DEEP_PROFOUND)
[style] ~127-~127: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...with separate auth and base paths. - Sometimes expose an app as a standalone MCP serve...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[grammar] ~329-~329: In American English, the usual verb to go with ‘REST’ is “take”.
Context: ...ork is: > “This is cool, but I already have a REST API. Do I really have to rewrite...
(HAVE_A_BATH)
docs/blog/external-links.mdx
[uncategorized] ~13-~13: The official name of this software platform is spelled with a capital “H”.
Context: ...={"GitHub Repo"} horizontal arrow icon='github'> FrontMCP source code on Github </...
(GITHUB)
[uncategorized] ~14-~14: The official name of this software platform is spelled with a capital “H”.
Context: ...n='github'> FrontMCP source code on Github <Card href={"/updates"} title={...
(GITHUB)
🔇 Additional comments (11)
README.md (3)
4-6: Asset path reorganization looks good.The logo paths have been consistently updated from
docs/images/todocs/assets/logo/, aligning with the new documentation asset structure.
46-69: TOC refactoring improves consistency.The Table of Contents has been reformatted to use a consistent hyphen-based bullet style with clear indentation hierarchy. The reorganization aligns with the updated documentation structure.
385-397: Verify that reference link targets are accurate.The reference links at the end of the file point to
docs.agentfront.dev/0.3/paths. Ensure these URLs are valid and reflect the latest documentation version currently being deployed.docs/blog/11-2025/mcp-run-out-of-socket.mdx (1)
1-449: Comprehensive blog post on multi-agent MCP architecture.This is a well-structured and informative post that clearly explains the problem statement, FrontMCP's approach, and practical patterns. The content flows logically from problem → solution → examples → migration playbook.
.coderabbit.yaml (3)
6-10: Clear governance for demo directory.The expanded description for
apps/demo/**is helpful for reviewers, emphasizing its role as a reference for SDK usage examples.
12-101: Comprehensive and well-organized docs governance structure.The DOCS HIERARCHY & WORKFLOW section provides clear guidance on each documentation area:
- docs/docs/ correctly marked as automation-only (latest rendered docs)
- docs/v/ correctly marked as read-only (frozen archived versions)
- docs/draft/docs/ correctly identified as human-editable drafts
- docs/blogs/ correctly identified as human-edited content
- docs/docs.json guidance aligns with coding guidelines for versioning strategy
- libs/ newly documented for SDK libraries with API/docs alignment requirement
This resolves the earlier path mismatch issue. Based on learnings, the initial bootstrap setup for versioned docs structure is properly accommodated.
102-118: Path filters are comprehensive and well-maintained.The exclusion patterns cover build artifacts, cache directories, node_modules, lock files, and minified assets. This appropriately focuses reviews on meaningful source code changes.
docs/docs.json (4)
10-10: Asset paths correctly updated.Logo and favicon references have been updated from
docs/images/todocs/assets/logo/, maintaining consistency across the project.Also applies to: 12-13
57-267: Navigation restructure correctly implements versioning strategy.The hierarchical dropdown model with three versions is well-organized:
- v0.3 (latest): Uses non-versioned
docs/...paths with"default": true✓- v0.2 & v0.1: Use versioned
docs/v/{minor}/...paths as archived versions ✓Each version includes nested subgroups (Core Components, Authentication, Extensibility Components) that provide clear navigation hierarchy. Tags and group organization align with coding guidelines for docs governance.
268-287: Blog dropdown properly integrated.The Blog dropdown correctly includes:
- General group with index and external-links pages
- November 2025 group with blog posts
This structure is appropriate for the PR's blog publication changes and follows the expected organization pattern.
283-283: Verify blog post file path exists.The navigation references
blog/11-2025/introducing-frontmcpat line 283. Confirm this file exists in the repository; if not, it should either be created or removed from the navigation.
Summary by CodeRabbit
New Features
Documentation