Skip to content

docs: fern migration#3548

Draft
miyoungc wants to merge 15 commits into
mainfrom
docs/fern-migration
Draft

docs: fern migration#3548
miyoungc wants to merge 15 commits into
mainfrom
docs/fern-migration

Conversation

@miyoungc
Copy link
Copy Markdown
Contributor

@miyoungc miyoungc commented May 15, 2026

Summary

Migrating docs to Fern.

Preview: https://nvidia-preview-nemoclaw-doc-to-fern.docs.buildwithfern.com/nemoclaw/latest/home

Before merging:

  • Need to drop the convert-docs-to-fern.mjs script; it is a temporary script for syncing .md to .mdx.

After merging:

  • Will remove the MyST markdown files once we confirm the Fern doc goes live.

Related Issue

Changes

Type of Change

  • Code change (feature, bug fix, or refactor)
  • Code change with doc updates
  • Doc only (prose changes, no code sample modifications)
  • Doc only (includes code sample changes)

Verification

  • npx prek run --all-files passes
  • npm test passes
  • Tests added or updated for new or changed behavior
  • No secrets, API keys, or credentials committed
  • Docs updated for user-facing behavior changes
  • make docs builds without warnings (doc changes only)
  • Doc pages follow the style guide (doc changes only)
  • New doc pages include SPDX header and frontmatter (new pages only)

Signed-off-by: Your Name your-email@example.com

Summary by CodeRabbit

Documentation

  • Complete documentation platform migration from Sphinx/MyST to Fern MDX with 100+ new/updated documentation pages
  • Comprehensive NemoClaw documentation site rebuilt, covering setup, inference configuration, deployment, security, network policies, troubleshooting, and CLI reference
  • Updated documentation build and preview workflow using Fern CLI instead of Sphinx
  • Enhanced AI agent skills generation now supports Fern MDX documentation format alongside legacy Markdown

Review Change Stack

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 15, 2026

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 38dd4ae4-3018-4b94-8464-549a220740c3

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Large-scale migration to Fern MDX: new site config/theme, extensive MDX docs added/updated, CI workflows and pre-commit updated for .mdx, new conversion script, and skills generator extended for Fern MDX. Make and npm scripts adjusted accordingly.

Changes

Fern MDX Migration and Docs Overhaul

Layer / File(s) Summary
Fern site, converter, CI, and docs content updates
fern/docs.yml, fern/main.css, scripts/convert-docs-to-fern.mjs, scripts/docs-to-skills.py, .github/workflows/docs-*.yaml, .pre-commit-config.yaml, package.json, Makefile, docs/**/*.mdx, .agents/skills/*
Adds Fern site/config/theme, converts/creates MDX docs, updates link checks/previews, extends skills generator for Fern MDX, and refreshes skills and references across the docs set.

Sequence Diagram(s)

(omitted)

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~75 minutes

Possibly related PRs

  • NVIDIA/NemoClaw#2823: Prior work on local inference tool-calling reliability overlaps with new reliability doc and skill warnings.
  • NVIDIA/NemoClaw#3427: Edits the same inference configuration skill and inference options reference.

Suggested labels

documentation, CI/CD, enhancement: skill

Suggested reviewers

  • cv
  • jyaunches

Poem

In ferny fields of MDX I hop,
Converting scrolls with a whisker-pop.
Workflows purr, previews bloom,
Links all tidy, banish gloom.
Scripts nibble YAML, carrots compile—
NemoClaw docs, now styled in green style! 🥕🐇

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/fern-migration

@miyoungc miyoungc marked this pull request as draft May 15, 2026 00:43
@copy-pr-bot
Copy link
Copy Markdown

copy-pr-bot Bot commented May 15, 2026

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

Comment thread scripts/convert-docs-to-fern.mjs Dismissed
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 15, 2026

E2E Advisor Recommendation

Required E2E: None
Optional E2E: docs-validation-e2e

Dispatch hint: docs-validation-e2e

Workflow run

Full advisor summary

E2E Recommendation Advisor

Base: origin/main
Head: HEAD
Confidence: high

Required E2E

  • None. No runtime E2E is required. The PR is documentation, generated agent-skill docs, Fern/docs CI, docs conversion scripts, tests-only, and repository tooling. It does not change installer/onboarding implementation, sandbox lifecycle code, credential handling code, security/network policy assets, inference routing implementation, deployment code, or real assistant runtime flows. Normal docs PR checks such as Fern validation and local Markdown link checks should cover merge-blocking risk.

Optional E2E

  • docs-validation-e2e (low): Optional confidence check because this PR changes many docs pages plus test/e2e/e2e-cloud-experimental/check-docs.sh, which is the helper behind the nightly docs validation E2E. It validates CLI/docs parity and Markdown links, but it is not required for runtime safety because no runtime/user-flow implementation changed.

New E2E recommendations

  • None.

Dispatch hint

  • Workflow: .github/workflows/nightly-e2e.yaml
  • jobs input: docs-validation-e2e

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 12

Note

Due to the large number of review comments, Critical, Major severity comments were prioritized as inline comments.

🟡 Minor comments (11)
.agents/skills/nemoclaw-user-overview/references/how-it-works.md-17-17 (1)

17-17: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Use an actual image asset URL in the Markdown image link.

![...](...) currently points to an .html page, so renderers may show a broken image instead of the diagram. Point this to the image file path (.png, .svg, etc.) used by the docs source.

As per coding guidelines, broken cross-references and rendering defects in documentation should be flagged as issues.

🤖 Prompt for 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.

In @.agents/skills/nemoclaw-user-overview/references/how-it-works.md at line 17,
The Markdown image link with alt text "NemoClaw High-Level Component Diagram"
points to an .html page instead of an actual image asset; update the image URL
in how-it-works.md to reference the real image file (e.g., .png or .svg) used by
the docs source (replace the current
https://.../nemoclaw-highlevel-component-diagram.html with the exact image asset
path), verify the asset exists in the docs source, and ensure the markdown image
tag renders correctly.
docs/network-policy/approve-network-requests.mdx-14-16 (1)

14-16: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Add an H1 heading that matches the page title.

The page currently begins with body text without the required H1.

As per coding guidelines: “H1 heading matches the title.page frontmatter value.”

🤖 Prompt for 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.

In `@docs/network-policy/approve-network-requests.mdx` around lines 14 - 16, Add
an H1 heading at the top of the document that exactly matches the title.page
frontmatter value; locate the frontmatter's title.page and insert a leading "#
{title.page}" line (exactly the same text and punctuation/capitalization) before
the existing body content so the H1 matches the page title as required.
docs/about/overview.mdx-12-14 (1)

12-14: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Add an H1 that matches the frontmatter page title.

The page body starts directly with paragraphs; add the top-level heading aligned with the page title.

As per coding guidelines: “H1 heading matches the title.page frontmatter value.”

🤖 Prompt for 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.

In `@docs/about/overview.mdx` around lines 12 - 14, Add a top-level H1 that
exactly matches the frontmatter key title.page at the very top of this MDX page
(before the existing paragraphs), e.g., insert "# {title.page value}" as the
first line so the H1 and frontmatter title.page are identical; ensure the
heading text matches casing and punctuation of the frontmatter value and remove
no other content in the existing body.
docs/reference/cli-selection-guide.mdx-12-12 (1)

12-12: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Add H1 heading after the frontmatter.

The page structure guidelines require an H1 heading that matches the title frontmatter value. Add the following heading after line 11:

 ---
+# CLI Selection Guide
+
 NemoClaw uses two host-side CLIs.

As per coding guidelines, when reviewing new pages, verify that the H1 heading matches the title.page frontmatter value.

🤖 Prompt for 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.

In `@docs/reference/cli-selection-guide.mdx` at line 12, Add an H1 heading
immediately after the frontmatter (i.e., at the top of the document before
content) that exactly matches the title.page frontmatter value; ensure the H1
text equals the frontmatter title and place it before the sentence "NemoClaw
uses two host-side CLIs." so the page structure follows the guidelines.
docs/inference/set-up-sub-agent.mdx-14-14 (1)

14-14: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Add H1 heading after the frontmatter.

The page structure guidelines require an H1 heading that matches the title frontmatter value. Add the following heading after line 13:

 ---
+# Set up a Task-Specific Sub-Agent
+
 OpenClaw documents the sub-agent behavior, `sessions_spawn` tool, `agents.list` configuration, tool policy, nesting, and auth model in [Sub-Agents](https://docs.openclaw.ai/tools/subagents).

As per coding guidelines, when reviewing new pages, verify that the H1 heading matches the title.page frontmatter value.

🤖 Prompt for 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.

In `@docs/inference/set-up-sub-agent.mdx` at line 14, Add a top-level H1 heading
that exactly matches the frontmatter title.page value immediately after the
frontmatter (after line 13); locate the file's frontmatter key title.page and
insert an H1 (e.g., "# <title.page>") as the first content heading so the page
structure requirement is satisfied and the H1 text matches the frontmatter value
exactly.
docs/manage-sandboxes/backup-restore.mdx-14-14 (1)

14-14: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Add H1 heading after the frontmatter.

The page structure guidelines require an H1 heading that matches the title frontmatter value. Add the following heading after line 13:

 ---
+# Backup and Restore Workspace Files
+
 Workspace files define your agent's personality, memory, and user context.

As per coding guidelines, when reviewing new pages, verify that the H1 heading matches the title.page frontmatter value.

🤖 Prompt for 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.

In `@docs/manage-sandboxes/backup-restore.mdx` at line 14, Add an H1 heading to
this document that exactly matches the title defined in the frontmatter (use the
title.page frontmatter value) and place it immediately after the frontmatter
block (i.e., right before the sentence "Workspace files define your agent's
personality, memory, and user context."). Ensure the heading is a single H1 line
(e.g., "# Your Title Here") and that the text exactly matches title.page.
docs/reference/architecture.mdx-12-12 (1)

12-12: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Add H1 heading after the frontmatter.

The page structure guidelines require an H1 heading that matches the title frontmatter value. Add the following heading after line 11:

 ---
+# NemoClaw Architecture: Plugin, Blueprint, and Sandbox Structure
+
 NemoClaw combines a host CLI, a TypeScript plugin that runs with OpenClaw inside the sandbox, and a versioned YAML blueprint that defines the sandbox image, policies, and inference profiles applied through OpenShell.

As per coding guidelines, when reviewing new pages, verify that the H1 heading matches the title.page frontmatter value.

🤖 Prompt for 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.

In `@docs/reference/architecture.mdx` at line 12, Add an H1 heading that exactly
matches the title.page frontmatter value immediately after the frontmatter block
(i.e., before the existing content sentence about NemoClaw); ensure the heading
uses a single leading "#" and the text is identical to title.page so the page
structure guidelines are satisfied.
docs/reference/network-policies.mdx-12-12 (1)

12-12: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Add H1 heading after the frontmatter.

The page structure guidelines require an H1 heading that matches the title frontmatter value. Add the following heading after line 11:

 ---
+# NemoClaw Network Policies: Baseline Rules and Operator Approval
+
 NemoClaw runs with a deny-by-default network policy.

As per coding guidelines, when reviewing new pages, verify that the H1 heading matches the title.page frontmatter value.

🤖 Prompt for 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.

In `@docs/reference/network-policies.mdx` at line 12, Add an H1 heading
immediately after the frontmatter that exactly matches the title.page
frontmatter value (e.g., insert "# {title.page}" after the frontmatter block);
update the file docs/reference/network-policies.mdx so the top-level H1 appears
right after the frontmatter and matches the title.page string
character-for-character.
docs/network-policy/integration-policy-examples.mdx-15-18 (1)

15-18: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Remove duplicate SPDX header and H1 heading.

Lines 15-16 contain a JSX-style comment block with SPDX headers that duplicate the headers already present in the YAML frontmatter (lines 2-3).
Line 18 contains an H1 heading that duplicates the title field in the frontmatter.

In Fern MDX, the page title is rendered from the frontmatter title field, and the SPDX header should appear only once at the top of the file.

🔧 Proposed fix
-
-{/* SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. */}
-{/* SPDX-License-Identifier: Apache-2.0 */}
-
-# Common NemoClaw Integration Policy Examples
-
 Use these examples when a sandbox is already installed and an integration needs network access.
🤖 Prompt for 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.

In `@docs/network-policy/integration-policy-examples.mdx` around lines 15 - 18,
Remove the duplicate SPDX comment block and the H1 heading: delete the JSX-style
comment block containing SPDX headers (the {/* SPDX-FileCopyrightText ... */}
and {/* SPDX-License-Identifier ... */}) and remove the explicit H1 line "#
Common NemoClaw Integration Policy Examples" because the SPDX headers are
already in the YAML frontmatter and the page title is rendered from the
frontmatter `title` field; keep only the single SPDX header in the frontmatter
and rely on `title` for the page heading.
docs/CONTRIBUTING.md-144-144 (1)

144-144: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

SPDX copyright year range inconsistency.

The template shows Copyright (c) 2025-2026, but the coding guideline states "copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES".
New files in this PR (e.g., docs/get-started/windows-preparation.mdx line 2) use only "2026".

Clarify whether:

  • The template should use 2026 only to match the guideline, or
  • The template should explain when to use year ranges (e.g., for files that existed in 2025).

As per coding guidelines: "Every source file must include an SPDX license header with copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES and Apache-2.0 identifier."

🤖 Prompt for 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.

In `@docs/CONTRIBUTING.md` at line 144, Update the SPDX template line
"SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION &
AFFILIATES. All rights reserved." to use "2026" only to match the coding
guideline, and add a short clarification in the CONTRIBUTING template: state
that new files must use "copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES",
and that year ranges (e.g., "2025-2026") are allowed only for legacy files that
predate 2026; also update any template example (the SPDX header string used
elsewhere) to show the canonical "2026" form so examples and new files are
consistent.
docs/network-policy/customize-network-policy.mdx-16-16 (1)

16-16: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Remove link to third-party GitHub repository.

As per coding guidelines, documentation should not link to third-party code repositories. The link to https://github.com/NVIDIA/OpenShell should be removed or replaced with a link to official documentation.

As per coding guidelines: "Do not add links to third-party code repositories, community collections, or unofficial resources; only link to official tool documentation (Node.js, Python, uv)"

🤖 Prompt for 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.

In `@docs/network-policy/customize-network-policy.mdx` at line 16, The sentence
"The sandbox policy is defined in a declarative YAML file in the NemoClaw
repository and enforced at runtime by NVIDIA OpenShell" contains a direct link
to a third‑party GitHub repo (https://github.com/NVIDIA/OpenShell) that must be
removed; update the text to remove the GitHub URL and either omit the link
entirely or replace it with an official documentation link for the technology
(referencing the string "NVIDIA OpenShell" in the sentence), ensuring the
sentence still reads smoothly and conforms to the guideline forbidding links to
third‑party code repositories.
🧹 Nitpick comments (32)
docs/manage-sandboxes/workspace-files.mdx (1)

15-18: ⚡ Quick win

Add introductory sentences under each H2 heading.

## File Reference and ## Next Steps jump directly into a table/list. Add one short intro sentence below each heading.

As per coding guidelines, "Sections use H2 and H3, each starting with an introductory sentence."

Also applies to: 108-112

🤖 Prompt for 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.

In `@docs/manage-sandboxes/workspace-files.mdx` around lines 15 - 18, Add one
short introductory sentence under each H2 heading "## File Reference" and "##
Next Steps" so the sections don't start immediately with a table or list; update
the prose surrounding those headings (and the similar H2 block around the later
occurrence referenced by the reviewer) to include a single-line intro that
describes what the reader will find in that section before the table/list.
docs/monitoring/monitor-sandbox-activity.mdx (3)

14-15: ⚡ Quick win

Add an H1 that matches the frontmatter title.

The page begins with intro text but no top-level heading.

As per coding guidelines: "H1 heading matches the title.page frontmatter value."

🤖 Prompt for 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.

In `@docs/monitoring/monitor-sandbox-activity.mdx` around lines 14 - 15, Add a
top-level H1 that exactly matches the frontmatter value title.page at the top of
the document (so the H1 text equals the page title in frontmatter) — insert a
single "# <title.page value>" line before the existing intro sentence in
monitor-sandbox-activity.mdx so the page has a matching H1 heading.

1-13: ⚡ Quick win

Add the missing frontmatter metadata fields.

This new page is missing topics, tags, difficulty, audience, and status.

As per coding guidelines: "Frontmatter includes title, description, keywords, topics, tags, content type, difficulty, audience, and status fields."

🤖 Prompt for 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.

In `@docs/monitoring/monitor-sandbox-activity.mdx` around lines 1 - 13, The
frontmatter is missing required metadata fields; update the YAML frontmatter at
the top of the file to include the keys topics, tags, difficulty, audience, and
status (in addition to existing title, description, keywords, and content.type).
Add a topics array of relevant subject strings, a tags array for short
identifiers, a difficulty value (e.g., beginner/intermediate/advanced), an
audience value (e.g., developers/ops/QA), and a status value (e.g.,
draft/ready/published) so the document conforms to the required frontmatter
schema used alongside title, description, keywords, and content.type.

91-97: ⚡ Quick win

Rename the ending section to Next Steps.

Use Next Steps as the final section title for related links on new docs pages.

As per coding guidelines: "A 'Next Steps' section at the bottom links to related pages."

🤖 Prompt for 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.

In `@docs/monitoring/monitor-sandbox-activity.mdx` around lines 91 - 97, Change
the final section heading text from "Related Topics" to "Next Steps" and update
the heading line that precedes the link list (the current "Related Topics"
heading); leave the existing link items and anchors unchanged and ensure the new
"Next Steps" title appears as the page's closing section per the docs guideline.
docs/inference/tool-calling-reliability.mdx (3)

1-11: ⚡ Quick win

Add missing frontmatter fields required for new docs pages.

Please include topics, tags, difficulty, audience, and status.

As per coding guidelines: "Frontmatter includes title, description, keywords, topics, tags, content type, difficulty, audience, and status fields."

🤖 Prompt for 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.

In `@docs/inference/tool-calling-reliability.mdx` around lines 1 - 11, The
frontmatter in the MDX file is missing required metadata fields; update the YAML
header (alongside existing fields like title, description, keywords, and
content.type) to add topics, tags, difficulty, audience, and status with
appropriate values (e.g., topics: [“troubleshooting”, …], tags: [...],
difficulty: "intermediate", audience: ["developers"], status: "stable" or
"draft") so the page conforms to the frontmatter guideline.

12-15: ⚡ Quick win

Keep exactly one complete sentence per source line.

The opening paragraph splits individual sentences across multiple lines.

As per coding guidelines: "One sentence per line in source (makes diffs readable)."

🤖 Prompt for 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.

In `@docs/inference/tool-calling-reliability.mdx` around lines 12 - 15, The first
paragraph splits sentences across lines; ensure each sentence is on its own
source line by reflowing the paragraph so "Local inference is useful for
privacy, cost control, and offline development, but tool-calling agents place
stricter demands on the model server than simple chat." is one line and "The
model server must return structured `tool_calls`, not a JSON-looking string
inside normal assistant text." is the next line, preserving wording and
punctuation exactly so diffs remain readable.

12-16: ⚡ Quick win

Insert an H1 heading that matches the page title.

The content starts with prose immediately after frontmatter.

As per coding guidelines: "H1 heading matches the title.page frontmatter value."

🤖 Prompt for 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.

In `@docs/inference/tool-calling-reliability.mdx` around lines 12 - 16, This page
is missing an H1 that must match the frontmatter key title.page; open the MDX
frontmatter to read title.page and add a top-level H1 (e.g., `# <value of
title.page>`) as the first line of content before the existing prose so the page
heading and frontmatter remain consistent; ensure the heading text exactly
matches the title.page value (including capitalization and punctuation) and
remove no other content.
docs/security/credential-storage.mdx (3)

12-13: ⚡ Quick win

Add an H1 heading that matches the frontmatter title.

The page starts directly with body text instead of an H1 matching the page title.

As per coding guidelines: "H1 heading matches the title.page frontmatter value."

🤖 Prompt for 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.

In `@docs/security/credential-storage.mdx` around lines 12 - 13, Add a top-level
H1 that exactly matches the page title specified in the frontmatter (the
title.page value) so the document begins with "# <title.page>" before any body
text; update the file to insert this Markdown H1 at the top of
credential-storage.mdx (matching the frontmatter string exactly, including
capitalization and punctuation) and ensure there are no duplicate H1s.

115-118: ⚡ Quick win

Use a Next Steps section at the bottom instead of Related Files.

For new pages, the final section should be Next Steps with related links.

As per coding guidelines: "A 'Next Steps' section at the bottom links to related pages."

🤖 Prompt for 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.

In `@docs/security/credential-storage.mdx` around lines 115 - 118, Replace the
"Related Files" section heading and its content with a "Next Steps" section:
rename the heading from "Related Files" to "Next Steps" and keep the two links
([Security Best Practices](/security/best-practices) and
[Architecture](/reference/architecture)) under that new heading so the page ends
with the required "Next Steps" linking to related pages; locate the block that
currently reads the "Related Files" heading and the two link lines in
docs/security/credential-storage.mdx (the "Related Files" section) and update
accordingly.

1-11: ⚡ Quick win

Add the missing frontmatter metadata fields for new docs pages.

This new page is missing topics, tags, difficulty, audience, and status in frontmatter.

As per coding guidelines: "Frontmatter includes title, description, keywords, topics, tags, content type, difficulty, audience, and status fields."

🤖 Prompt for 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.

In `@docs/security/credential-storage.mdx` around lines 1 - 11, The frontmatter
for the new doc is missing required metadata fields; add the keys "topics",
"tags", "difficulty", "audience", and "status" to the existing YAML frontmatter
alongside the already-present "title", "description", "keywords", and
"content.type". Populate "topics" as a short array of relevant topic slugs,
"tags" as an array of searchable keywords, "difficulty" as a string (e.g.,
"beginner"|"intermediate"|"advanced"), "audience" as a string (e.g.,
"developer"|"operator"|"security"), and "status" as a string (e.g.,
"draft"|"stable"|"deprecated") so the frontmatter matches the project's required
schema.
docs/get-started/quickstart-hermes.mdx (2)

14-16: ⚡ Quick win

Add an H1 heading matching the page title before the intro.

The page currently starts with body copy immediately after frontmatter.

As per coding guidelines: "H1 heading matches the title.page frontmatter value."

🤖 Prompt for 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.

In `@docs/get-started/quickstart-hermes.mdx` around lines 14 - 16, Add an H1
heading that exactly matches the frontmatter title.page value before the
introductory paragraph; update the top of the MDX so the first visible content
is a level-1 heading (e.g., "# <title.page>") placed immediately after the
frontmatter and before the lines starting "Use NemoHermes..." and "The
`nemohermes` command..."; ensure the heading text is an exact match to
title.page (case and punctuation) per the coding guideline.

1-13: ⚡ Quick win

Complete the required frontmatter fields for this new page.

Please add topics, tags, difficulty, audience, and status to frontmatter.

As per coding guidelines: "Frontmatter includes title, description, keywords, topics, tags, content type, difficulty, audience, and status fields."

🤖 Prompt for 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.

In `@docs/get-started/quickstart-hermes.mdx` around lines 1 - 13, The frontmatter
is missing required fields: add keys topics (array of relevant topic strings),
tags (array of short keyword tags), difficulty (string like
"beginner"|"intermediate"|"advanced"), audience (array like
["developer","data_scientist"]), and status (string like "draft" or "stable")
alongside the existing title, description, keywords and content.type; update the
frontmatter at the top of the document (the block with title, description,
keywords, content.type) by inserting topics, tags, difficulty, audience, and
status with appropriate values for a NemoHermes quickstart (e.g., topics:
["nemohermes","hermes","nemoClaw"], tags: ["quickstart","hermes","nemoClaw"],
difficulty: "beginner", audience: ["developer"], status: "draft") so the page
conforms to the required frontmatter schema.
.agents/skills/nemoclaw-user-overview/references/ecosystem.md (1)

3-3: ⚡ Quick win

Remove the colon from the page title.

The H1 uses a colon, which violates the title format rule for docs pages.

As per coding guidelines: "No colons in titles. Flag 'Inference: Cloud and Local' — should be 'Cloud and Local Inference.'"

🤖 Prompt for 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.

In @.agents/skills/nemoclaw-user-overview/references/ecosystem.md at line 3,
Update the H1 title string "# NemoClaw Ecosystem: Stack, Placement, and When to
Use NemoClaw or OpenShell" to remove the colon (e.g., "# NemoClaw Ecosystem
Stack, Placement, and When to Use NemoClaw or OpenShell" or use a dash/em dash
instead), ensuring the page title follows the "no colons in titles" rule; locate
and change the exact header line in the file so the colon character is removed
from the H1.
docs/resources/license.mdx (1)

4-4: ⚡ Quick win

Remove the colon from the page title.

The title uses NemoClaw License: Apache 2.0; docs titles should not include colons.

As per coding guidelines, section/page titles must not contain colons.

🤖 Prompt for 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.

In `@docs/resources/license.mdx` at line 4, Update the page title string that
currently reads "NemoClaw License: Apache 2.0" by removing the colon so it
follows the docs guideline (e.g., change the title value to "NemoClaw License
Apache 2.0"); locate and edit the title declaration in the frontmatter/title
field to make this single-character change.
docs/about/overview.mdx (1)

4-4: ⚡ Quick win

Remove the colon from the page title.

Use a title format without : to match docs formatting rules.

As per coding guidelines: “No colons in titles.”

🤖 Prompt for 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.

In `@docs/about/overview.mdx` at line 4, Remove the colon from the page title
string "NemoClaw Overview: What It Is" in the document header so it follows the
docs rule; update the title value to a colon-free form such as "NemoClaw
Overview What It Is" (or another approved hyphen/space variant) by editing the
title field that currently reads title: "NemoClaw Overview: What It Is".
docs/network-policy/approve-network-requests.mdx (1)

68-72: ⚡ Quick win

Rename the final section to “Next Steps.”

Keep the bottom navigation section as “Next Steps” for docs consistency.

As per coding guidelines: “A ‘Next Steps’ section at the bottom links to related pages.”

🤖 Prompt for 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.

In `@docs/network-policy/approve-network-requests.mdx` around lines 68 - 72,
Rename the final section header "Related Topics" to "Next Steps" and keep the
existing link list unchanged; update the markdown heading text (the line
containing ## Related Topics) to ## Next Steps so the bottom navigation adheres
to the docs guideline requiring a "Next Steps" section.
docs/manage-sandboxes/lifecycle.mdx (2)

270-275: ⚡ Quick win

Rename the final section to “Next Steps.”

For new docs pages, the closing related-links section must be named “Next Steps.”

As per coding guidelines: “A ‘Next Steps’ section at the bottom links to related pages.”

🤖 Prompt for 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.

In `@docs/manage-sandboxes/lifecycle.mdx` around lines 270 - 275, Change the final
heading "## Related Topics" to "## Next Steps" and update any corresponding link
list if necessary; specifically modify the heading title in the docs page where
"## Related Topics" appears (the block containing the links to Set Up Messaging
Channels, Workspace Files, Backup and Restore, and Monitor Sandbox Activity) so
the section uses the mandated "Next Steps" heading.

1-18: ⚡ Quick win

Add required page metadata and matching H1.

This new page is missing required frontmatter fields (topics, tags, difficulty, audience, status) and does not include an H1 that matches the page title.

As per coding guidelines: “Frontmatter includes title, description, keywords, topics, tags, content type, difficulty, audience, and status fields” and “H1 heading matches the title.page frontmatter value.”

🤖 Prompt for 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.

In `@docs/manage-sandboxes/lifecycle.mdx` around lines 1 - 18, The frontmatter is
missing required fields and the page lacks an H1 matching the title; add the
missing frontmatter keys topics, tags, difficulty, audience, and status to the
existing YAML block (alongside title, description, keywords, content, skill) and
ensure the top-level H1 in the document text exactly matches the title value
("Manage Sandbox Lifecycle"); update or add values appropriate for the page
(e.g., topics: ["operations"], tags: ["sandboxes","nemoclaw"], difficulty:
"intermediate", audience: "operators", status: "stable") so the page meets the
repository frontmatter guidelines and the H1/title consistency rule.
docs/about/ecosystem.mdx (3)

1-16: ⚡ Quick win

Add required metadata fields and matching H1.

This new page is missing required frontmatter fields (topics, tags, difficulty, audience, status) and does not include an H1 matching the page title.

As per coding guidelines: “Frontmatter includes title, description, keywords, topics, tags, content type, difficulty, audience, and status fields” and “H1 heading matches the title.page frontmatter value.”

🤖 Prompt for 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.

In `@docs/about/ecosystem.mdx` around lines 1 - 16, The frontmatter for this new
page is missing required fields and the document lacks an H1 that matches the
frontmatter title: add the missing frontmatter keys topics, tags, difficulty,
audience, and status into the YAML block (alongside existing title, description,
keywords, content.type) and ensure the top-level H1 heading in the body exactly
matches the title value ("NemoClaw Ecosystem: Stack, Placement, and When to Use
NemoClaw or OpenShell"); update the frontmatter keys and the H1 so they are
identical strings and follow the existing style used for other docs.

97-101: ⚡ Quick win

Use “Next Steps” as the final section heading.

Please rename this closing section from “Related topics” to “Next Steps.”

As per coding guidelines: “A ‘Next Steps’ section at the bottom links to related pages.”

🤖 Prompt for 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.

In `@docs/about/ecosystem.mdx` around lines 97 - 101, Rename the closing section
header "Related topics" to "Next Steps" in the docs markdown (replace the
heading line "## Related topics" with "## Next Steps") so the bottom of the page
follows the coding guideline that a Next Steps section links to related pages;
ensure the list of links below remains unchanged.

4-4: ⚡ Quick win

Remove colon from page title.

The title includes a colon, which violates docs title formatting rules.

As per coding guidelines: “No colons in titles.”

🤖 Prompt for 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.

In `@docs/about/ecosystem.mdx` at line 4, The page frontmatter title contains a
colon in "NemoClaw Ecosystem: Stack, Placement, and When to Use NemoClaw or
OpenShell" which violates the docs rule; update the title string in
docs/about/ecosystem.mdx to remove the colon (for example "NemoClaw Ecosystem —
Stack, Placement, and When to Use NemoClaw or OpenShell" or "NemoClaw Ecosystem
— Stack, Placement and When to Use NemoClaw or OpenShell") so the colon is no
longer present.
docs/deployment/brev-web-ui.mdx (1)

1-13: ⚡ Quick win

Complete required frontmatter fields and add a matching H1.

The page is missing topics, tags, difficulty, audience, and status in frontmatter, and it has no H1 matching the title.

As per coding guidelines: “Frontmatter includes title, description, keywords, topics, tags, content type, difficulty, audience, and status fields” and “H1 heading matches the title.page frontmatter value.”

🤖 Prompt for 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.

In `@docs/deployment/brev-web-ui.mdx` around lines 1 - 13, Add the missing
frontmatter fields by updating the YAML block to include topics, tags,
difficulty, audience, and status (e.g., topics: [...], tags: [...], difficulty:
"beginner|intermediate|advanced", audience: ["developers","data-scientists"],
status: "draft|published") alongside the existing title, description, keywords,
and content; then add an H1 at the top of the document that exactly matches the
title value "Launch NemoClaw with the Brev Web UI" so the page heading and
frontmatter title are identical.
docs/security/openclaw-controls.mdx (1)

1-12: ⚡ Quick win

Add missing required metadata and H1.

This new page is missing required frontmatter fields (topics, tags, difficulty, audience, status) and does not include an H1 matching the page title.

As per coding guidelines: “Frontmatter includes title, description, keywords, topics, tags, content type, difficulty, audience, and status fields” and “H1 heading matches the title.page frontmatter value.”

🤖 Prompt for 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.

In `@docs/security/openclaw-controls.mdx` around lines 1 - 12, The frontmatter for
this page is missing required fields and the document lacks an H1 that matches
the frontmatter title: add the required frontmatter keys (topics, tags,
difficulty, audience, status) alongside the existing title, description,
keywords and content.type entries in the YAML block and populate them with
appropriate values; then add an H1 at the top of the document whose text exactly
matches the frontmatter title ("OpenClaw Security Controls Beyond NemoClaw's
Scope") so the H1 and the title frontmatter are identical.
docs/deployment/deploy-to-remote-gpu.mdx (3)

145-149: ⚡ Quick win

Rename final section to “Next Steps.”

Please use “Next Steps” for the closing related-links section.

As per coding guidelines: “A ‘Next Steps’ section at the bottom links to related pages.”

🤖 Prompt for 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.

In `@docs/deployment/deploy-to-remote-gpu.mdx` around lines 145 - 149, The closing
related-links section header currently reads "## Related Topics" and should be
renamed to "## Next Steps"; update the heading text in the file (the line
containing "## Related Topics") to "## Next Steps" and keep the existing link
list beneath it (the bullet items referencing Set Up Messaging Channels, Monitor
Sandbox Activity, and Commands) unchanged so the section matches the project's
"Next Steps" guideline.

1-16: ⚡ Quick win

Add required frontmatter fields and a matching H1 heading.

This page is missing required frontmatter fields (topics, tags, difficulty, audience, status) and does not include an H1 matching the title.

As per coding guidelines: “Frontmatter includes title, description, keywords, topics, tags, content type, difficulty, audience, and status fields” and “H1 heading matches the title.page frontmatter value.”

🤖 Prompt for 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.

In `@docs/deployment/deploy-to-remote-gpu.mdx` around lines 1 - 16, Add the
missing required frontmatter keys (topics, tags, difficulty, audience, status)
to the YAML block at the top of the file and ensure the page includes an H1
whose text exactly matches the frontmatter title ("Deploy NemoClaw to a Remote
GPU Instance with Brev"); update the existing frontmatter by adding entries for
topics (array), tags (array), difficulty (e.g., "beginner"/"intermediate"),
audience (array), and status (e.g., "stable"/"draft"), and insert a top-level H1
heading immediately after the frontmatter that matches title.

93-106: ⚡ Quick win

Use one sentence per line in source.

This paragraph wraps single sentences across multiple lines; docs style requires one full sentence per line for readable diffs.

As per coding guidelines: “One sentence per line in source (makes diffs readable).”

🤖 Prompt for 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.

In `@docs/deployment/deploy-to-remote-gpu.mdx` around lines 93 - 106, The
paragraph describing the NemoClaw dashboard allowlist should be reformatted so
each sentence is on its own source line; edit the block that mentions the
default allowlist, the need to set CHAT_UI_URL before running setup, the example
export/nomoclaw deploy lines, and the SSH port-forwarding note so every sentence
occupies a separate line, preserving the exact wording and code block but
breaking wrapped sentences (references: CHAT_UI_URL, nemoclaw deploy, NemoClaw
dashboard allowlist).
docs/get-started/prerequisites.mdx (1)

1-13: ⚡ Quick win

Add missing page-structure metadata and H1.

This page omits required frontmatter fields (topics, tags, difficulty, audience, status) and does not include an H1 that matches the page title.

As per coding guidelines: “Frontmatter includes title, description, keywords, topics, tags, content type, difficulty, audience, and status fields” and “H1 heading matches the title.page frontmatter value.”

🤖 Prompt for 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.

In `@docs/get-started/prerequisites.mdx` around lines 1 - 13, The frontmatter is
missing required fields and the page lacks an H1 matching the title: add the
fields topics, tags, difficulty, audience, and status to the existing
frontmatter block (alongside title, description, keywords, content) and ensure
the page body begins with an H1 that exactly matches the title value "NemoClaw
Prerequisites"; update the frontmatter keys (topics, tags, difficulty, audience,
status) with appropriate values and insert a top-level heading "# NemoClaw
Prerequisites" immediately after the frontmatter.
docs/inference/inference-options.mdx (1)

1-16: ⚡ Quick win

Complete frontmatter schema and add matching H1.

This page is missing required frontmatter fields (topics, tags, difficulty, audience, status) and does not include an H1 matching the page title.

As per coding guidelines: “Frontmatter includes title, description, keywords, topics, tags, content type, difficulty, audience, and status fields” and “H1 heading matches the title.page frontmatter value.”

🤖 Prompt for 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.

In `@docs/inference/inference-options.mdx` around lines 1 - 16, Add the missing
frontmatter keys by expanding the existing frontmatter to include topics, tags,
difficulty, audience, and status (keeping the existing title, description,
keywords, and content.type), and ensure the page body starts with an H1 that
exactly matches the frontmatter title ("NemoClaw Inference Options") so the H1
equals the title value; update the frontmatter values appropriately (e.g.,
topics: [...], tags: [...], difficulty: "beginner|intermediate|advanced",
audience: [...], status: "draft|stable|deprecated") and place a top-level "#
NemoClaw Inference Options" heading immediately after the frontmatter.
docs/about/how-it-works.mdx (1)

104-104: ⚡ Quick win

Split sentences onto separate lines.

This line contains two sentences. Place each sentence on its own line to make diffs more readable. As per coding guidelines, documentation source should use one sentence per line.

📝 Suggested format
-When the agent tries to reach an unlisted host, OpenShell blocks the request and surfaces it in the TUI for operator approval. Approved endpoints persist for the current session but are not saved to the baseline policy file.
+When the agent tries to reach an unlisted host, OpenShell blocks the request and surfaces it in the TUI for operator approval.
+Approved endpoints persist for the current session but are not saved to the baseline policy file.
🤖 Prompt for 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.

In `@docs/about/how-it-works.mdx` at line 104, Split the two sentences in the
string "When the agent tries to reach an unlisted host, OpenShell blocks the
request and surfaces it in the TUI for operator approval. Approved endpoints
persist for the current session but are not saved to the baseline policy file."
onto separate lines so each sentence is on its own line in
docs/about/how-it-works.mdx; locate the paragraph containing that exact text and
break it into two lines (one with the sentence about blocking and TUI approval,
and a second with the sentence about approved endpoints persisting only for the
session).
docs/about/release-notes.mdx (1)

18-26: ⚡ Quick win

Split sentences onto separate lines in release notes.

Each bullet point in this release section contains multiple sentences on a single line. Place each sentence on its own line to make diffs more readable. As per coding guidelines, documentation source should use one sentence per line.

Example for line 18:

-`nemoclaw onboard` uses the Docker-driver OpenShell gateway path on macOS and no longer requires VM driver helper assets for standard macOS onboarding.
+`nemoclaw onboard` uses the Docker-driver OpenShell gateway path on macOS.
+It no longer requires VM driver helper assets for standard macOS onboarding.

Apply the same pattern throughout the release notes for better maintainability.

🤖 Prompt for 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.

In `@docs/about/release-notes.mdx` around lines 18 - 26, The release-notes bullets
contain multiple sentences per line; update each bullet so each sentence is on
its own line (one sentence per line) for items like the `nemoclaw onboard` line,
the "Dashboard port selection" line, the `nemoclaw status` line, the "Local
Ollama status and doctor checks" line, the "Compatible OpenAI endpoint
validation" line, the `channels add`/`channels remove` line, the "GPU recovery
and uninstall output" line, the "Onboarding applies selected built-in policy
presets" line, and the "installer handles unchanged user-local CLI shims"
line—preserve existing wording and punctuation but break sentences onto separate
lines to improve diffability and follow the one-sentence-per-line guideline.
docs/network-policy/customize-network-policy.mdx (2)

97-100: ⚡ Quick win

Use Fern callout components instead of markdown admonitions.

Similar to the previous comment, use Fern <Warning> component instead of markdown admonition syntax.

♻️ Proposed fix
-> [!WARNING]
-> `openshell policy set` **replaces** the sandbox's live policy with the contents of the file you provide; it does not merge.
-> A running sandbox's live policy is the baseline from `openclaw-sandbox.yaml` plus every preset that was layered on during onboarding.
-> Applying a file that contains only the baseline (or only a single preset) silently drops every other preset that was in effect.
+<Warning>
+`openshell policy set` **replaces** the sandbox's live policy with the contents of the file you provide; it does not merge.
+A running sandbox's live policy is the baseline from `openclaw-sandbox.yaml` plus every preset that was layered on during onboarding.
+Applying a file that contains only the baseline (or only a single preset) silently drops every other preset that was in effect.
+</Warning>

As per coding guidelines: "Use Fern callout components (, , ) for callouts in MDX pages, not bold text or blockquotes."

🤖 Prompt for 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.

In `@docs/network-policy/customize-network-policy.mdx` around lines 97 - 100,
Replace the markdown admonition that begins with "[!WARNING]" and the following
explanatory lines about `openshell policy set` and `openclaw-sandbox.yaml` with
a Fern <Warning> callout component; move the same text content into the
<Warning> body (preserving the phrasing about replacement vs. merge and that
applying a file with only the baseline/preset will drop other presets) so the
page uses Fern callouts (<Warning>, not markdown admonitions) as required by the
MDX guidelines.

31-34: ⚡ Quick win

Use Fern callout components instead of markdown admonitions.

The page uses markdown-style admonitions (> [!IMPORTANT]) instead of Fern MDX components. According to the coding guidelines, MDX pages should use Fern callout components like <Note>, <Tip>, and <Warning>.

♻️ Proposed fix
-> [!IMPORTANT]
-> Make static policy edits on the host, not inside the sandbox.
-> The sandbox image includes a small set of operational tools such as `vi`, `jq`, and `dos2unix`, but host-side policy files remain the durable source of truth.
-> Changes made only inside the sandbox are also ephemeral and are lost when the sandbox is recreated.
+<Warning>
+Make static policy edits on the host, not inside the sandbox.
+The sandbox image includes a small set of operational tools such as `vi`, `jq`, and `dos2unix`, but host-side policy files remain the durable source of truth.
+Changes made only inside the sandbox are also ephemeral and are lost when the sandbox is recreated.
+</Warning>

As per coding guidelines: "Use Fern callout components (, , ) for callouts in MDX pages, not bold text or blockquotes."

🤖 Prompt for 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.

In `@docs/network-policy/customize-network-policy.mdx` around lines 31 - 34,
Replace the markdown admonition starting with “[!IMPORTANT]” and its paragraph
text with the Fern callout component that matches the tone (e.g., <Warning>),
preserving the exact inner content including inline code fragments like `vi`,
`jq`, and `dos2unix`; specifically, locate the block containing the sentence
"Make static policy edits on the host, not inside the sandbox." and swap the
blockquote syntax for a Fern component (open tag, same text, close tag) so the
page uses the supported MDX callout component instead of a markdown admonition.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: c9c2324c-8e77-44d7-90c1-f7b9ebec0b67

📥 Commits

Reviewing files that changed from the base of the PR and between 84d847b and 7e7a72e.

⛔ Files ignored due to path filters (3)
  • fern/assets/NVIDIA_dark.svg is excluded by !**/*.svg
  • fern/assets/NVIDIA_light.svg is excluded by !**/*.svg
  • fern/assets/NVIDIA_symbol.svg is excluded by !**/*.svg
📒 Files selected for processing (78)
  • .agents/skills/nemoclaw-contributor-update-docs/SKILL.md
  • .agents/skills/nemoclaw-user-configure-inference/SKILL.md
  • .agents/skills/nemoclaw-user-configure-inference/references/inference-options.md
  • .agents/skills/nemoclaw-user-configure-inference/references/set-up-sub-agent.md
  • .agents/skills/nemoclaw-user-configure-inference/references/switch-inference-providers.md
  • .agents/skills/nemoclaw-user-configure-security/references/best-practices.md
  • .agents/skills/nemoclaw-user-configure-security/references/credential-storage.md
  • .agents/skills/nemoclaw-user-deploy-remote/references/brev-web-ui.md
  • .agents/skills/nemoclaw-user-get-started/SKILL.md
  • .agents/skills/nemoclaw-user-get-started/references/prerequisites.md
  • .agents/skills/nemoclaw-user-manage-policy/references/approve-network-requests.md
  • .agents/skills/nemoclaw-user-manage-policy/references/integration-policy-examples.md
  • .agents/skills/nemoclaw-user-manage-sandboxes/SKILL.md
  • .agents/skills/nemoclaw-user-manage-sandboxes/references/messaging-channels.md
  • .agents/skills/nemoclaw-user-overview/references/ecosystem.md
  • .agents/skills/nemoclaw-user-overview/references/how-it-works.md
  • .agents/skills/nemoclaw-user-overview/references/overview.md
  • .agents/skills/nemoclaw-user-overview/references/release-notes.md
  • .agents/skills/nemoclaw-user-reference/references/architecture.md
  • .agents/skills/nemoclaw-user-reference/references/commands.md
  • .agents/skills/nemoclaw-user-reference/references/network-policies.md
  • .agents/skills/nemoclaw-user-reference/references/troubleshooting.md
  • .coderabbit.yaml
  • .github/workflows/docs-links-pr.yaml
  • .github/workflows/docs-preview-deploy.yaml
  • .github/workflows/docs-preview-pr.yaml
  • .pre-commit-config.yaml
  • AGENTS.md
  • CONTRIBUTING.md
  • Makefile
  • README.md
  • biome.json
  • docs/CONTRIBUTING.md
  • docs/about/ecosystem.mdx
  • docs/about/how-it-works.mdx
  • docs/about/overview.mdx
  • docs/about/release-notes.mdx
  • docs/deployment/brev-web-ui.mdx
  • docs/deployment/deploy-to-remote-gpu.mdx
  • docs/deployment/install-openclaw-plugins.mdx
  • docs/deployment/sandbox-hardening.mdx
  • docs/get-started/prerequisites.mdx
  • docs/get-started/quickstart-hermes.mdx
  • docs/get-started/quickstart.mdx
  • docs/get-started/windows-preparation.mdx
  • docs/index.mdx
  • docs/index.yml
  • docs/inference/inference-options.mdx
  • docs/inference/set-up-sub-agent.mdx
  • docs/inference/switch-inference-providers.mdx
  • docs/inference/tool-calling-reliability.mdx
  • docs/inference/use-local-inference.mdx
  • docs/manage-sandboxes/backup-restore.mdx
  • docs/manage-sandboxes/lifecycle.mdx
  • docs/manage-sandboxes/messaging-channels.mdx
  • docs/manage-sandboxes/workspace-files.mdx
  • docs/monitoring/monitor-sandbox-activity.mdx
  • docs/network-policy/approve-network-requests.mdx
  • docs/network-policy/customize-network-policy.mdx
  • docs/network-policy/integration-policy-examples.mdx
  • docs/reference/architecture.mdx
  • docs/reference/cli-selection-guide.mdx
  • docs/reference/commands.mdx
  • docs/reference/network-policies.mdx
  • docs/reference/troubleshooting.mdx
  • docs/resources/agent-skills.mdx
  • docs/resources/license.mdx
  • docs/security/best-practices.mdx
  • docs/security/credential-storage.mdx
  • docs/security/openclaw-controls.mdx
  • fern/docs.yml
  • fern/fern.config.json
  • fern/main.css
  • package.json
  • scripts/convert-docs-to-fern.mjs
  • scripts/docs-to-skills.py
  • test/e2e/e2e-cloud-experimental/check-docs.sh
  • test/fern-frontmatter.test.ts
💤 Files with no reviewable changes (1)
  • .github/workflows/docs-preview-deploy.yaml

Comment thread docs/about/overview.mdx
Comment on lines +1 to +11
---
# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
title: "NemoClaw Overview: What It Is"
sidebar-title: "Overview"
description: "NemoClaw is an open-source reference stack that simplifies running OpenClaw always-on assistants more safely."
description-agent: "Explains what NemoClaw covers: onboarding, lifecycle management, and OpenClaw operations within OpenShell containers, plus capabilities and why it exists. Use when users ask what NemoClaw is or what the project provides. For ecosystem placement or OpenShell-only paths, use the Ecosystem page; for internal mechanics, use How It Works."
keywords: ["nemoclaw overview", "openclaw always-on assistants", "nvidia openshell", "nvidia nemotron"]
content:
type: "concept"
---
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Add the required frontmatter metadata fields for new docs pages.

This new page is missing required frontmatter keys (topics, tags, difficulty, audience, and status).

As per coding guidelines: “Frontmatter includes title, description, keywords, topics, tags, content type, difficulty, audience, and status fields.”

🤖 Prompt for 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.

In `@docs/about/overview.mdx` around lines 1 - 11, The frontmatter for the new
page (the YAML block containing title/description/keywords/content) is missing
required keys: add topics, tags, difficulty, audience, and status to the
existing frontmatter so it conforms to the project's required fields; update the
same top-level frontmatter block (the header that includes title, description,
keywords, and content) by inserting appropriate values for topics (array of
relevant topic strings), tags (array of short tag strings), difficulty (e.g.,
"beginner"|"intermediate"|"advanced"), audience (e.g.,
"user"|"developer"|"admin"), and status (e.g., "draft"|"published"), ensuring
keys match naming used in other docs.

Comment thread docs/about/overview.mdx
Comment thread docs/get-started/quickstart.mdx
Comment thread docs/manage-sandboxes/workspace-files.mdx
Comment thread docs/manage-sandboxes/workspace-files.mdx
Comment on lines +1 to +13
---
# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
title: "Approve or Deny NemoClaw Agent Network Requests"
sidebar-title: "Approve Network Requests"
description: "Review and approve blocked agent network requests in the TUI."
description-agent: "Reviews and approves blocked agent network requests in the TUI. Use when approving or denying sandbox egress requests, managing blocked network calls, or using the approval TUI."
keywords: ["nemoclaw approve network requests", "sandbox egress approval tui"]
content:
type: "how_to"
skill:
priority: 20
---
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Complete the required frontmatter fields for this new docs page.

Please add topics, tags, difficulty, audience, and status.

As per coding guidelines: “Frontmatter includes title, description, keywords, topics, tags, content type, difficulty, audience, and status fields.”

🤖 Prompt for 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.

In `@docs/network-policy/approve-network-requests.mdx` around lines 1 - 13, The
frontmatter for the document that starts with title "Approve or Deny NemoClaw
Agent Network Requests" is missing required fields; update the YAML frontmatter
block at the top of the file to add topics (array of relevant topic slugs, e.g.,
["networking","security","agents"]), tags (array of short tags, e.g.,
["nemoclaw","network-approval","tui"]), difficulty (string:
"beginner"|"intermediate"|"advanced"), audience (array, e.g.,
["operators","developers","security-engineers"]) and status (string:
"draft"|"stable"|"deprecated"), ensuring you preserve the existing title,
description, keywords, content.type, and skill.priority values.

Comment thread docs/resources/license.mdx
Comment thread docs/resources/license.mdx
@wscurran wscurran added documentation Improvements or additions to documentation Migration Use this label to identify issues with migrating to NemoClaw from another framework. labels May 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation Migration Use this label to identify issues with migrating to NemoClaw from another framework.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants