Skip to content

docs: catch up documentation for v0.0.10 changes#1654

Merged
miyoungc merged 1 commit intomainfrom
docs/refresh-0.0.10
Apr 9, 2026
Merged

docs: catch up documentation for v0.0.10 changes#1654
miyoungc merged 1 commit intomainfrom
docs/refresh-0.0.10

Conversation

@miyoungc
Copy link
Copy Markdown
Contributor

@miyoungc miyoungc commented Apr 9, 2026

Summary

Test plan

  • make docs builds without warnings
  • All pre-commit and pre-push hooks pass
  • Verify rendered pages in docs site preview

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features

    • Added nemoclaw credentials list command to display stored credential names
    • Added nemoclaw credentials reset <KEY> command with --yes flag to remove credentials
    • Added --dry-run flag for policy-add to preview endpoint changes
    • New policy presets: brave and brew
    • New configuration options: NEMOCLAW_LOCAL_INFERENCE_TIMEOUT, NEMOCLAW_PROXY_HOST, and NEMOCLAW_PROXY_PORT
  • Documentation

    • Expanded troubleshooting guides for Docker permissions, sandbox connectivity, local inference timeouts, and proxy configuration

Cover user-facing changes that landed since v0.0.9: credentials command,
policy-add --dry-run flag, preset table updates (remove docker, add brave
and brew), local inference timeout configuration, proxy env vars, Docker
group permissions, and sandbox survival after gateway restart.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Apr 9, 2026

📝 Walkthrough

Walkthrough

Documentation updates across configuration, deployment, and reference guides introduce three new configuration features: timeout overrides for local inference via NEMOCLAW_LOCAL_INFERENCE_TIMEOUT, proxy configuration via NEMOCLAW_PROXY_HOST and NEMOCLAW_PROXY_PORT, updated policy presets (added brave and brew, changed huggingface description, removed docker), and new credentials management commands (credentials list, credentials reset) with associated policy-add --dry-run flag documentation and troubleshooting guidance.

Changes

Cohort / File(s) Summary
Skill Documentation Configuration
.agents/skills/nemoclaw-user-configure-inference/SKILL.md, .agents/skills/nemoclaw-user-deploy-remote/SKILL.md
Added new Step 9 "Timeout Configuration" and Step 7 "Proxy Configuration" sections documenting environment variable overrides (NEMOCLAW_LOCAL_INFERENCE_TIMEOUT, NEMOCLAW_PROXY_HOST, NEMOCLAW_PROXY_PORT) with defaults, constraints, and requirement to re-run nemoclaw onboard to apply changes. Subsequent steps were renumbered accordingly.
Skill Policy and Credentials Reference
.agents/skills/nemoclaw-user-manage-policy/SKILL.md, .agents/skills/nemoclaw-user-reference/references/commands.md
Updated policy presets table: added brave and brew presets, changed huggingface description from "model registry" to "inference router," and removed docker preset. Documented new --dry-run flag for nemoclaw <name> policy-add and new nemoclaw credentials list and nemoclaw credentials reset <KEY> commands with --yes/-y flag.
Skill Troubleshooting
.agents/skills/nemoclaw-user-reference/references/troubleshooting.md
Added four troubleshooting sections: Docker permission denied fix (add user to docker group), local inference timeout guidance (NEMOCLAW_LOCAL_INFERENCE_TIMEOUT), OpenShell < 0.0.24 unreachable sandbox fix, and proxy connectivity failures (NEMOCLAW_PROXY_HOST/NEMOCLAW_PROXY_PORT).
Deployment Documentation
docs/deployment/deploy-to-remote-gpu.md, docs/inference/use-local-inference.md
Added "Proxy Configuration" section documenting default gateway proxy (10.200.0.1:3128), override variables, and sandbox rebuild requirement. Added "Timeout Configuration" section describing 180-second default and NEMOCLAW_LOCAL_INFERENCE_TIMEOUT override mechanism.
Network Policy and Reference Commands
docs/network-policy/customize-network-policy.md, docs/reference/commands.md
Updated policy presets documentation: added brave and brew entries, changed huggingface description from "model registry" to "inference router," removed docker. Documented --dry-run flag for policy-add with confirmation behavior, and new credentials list and credentials reset <KEY> commands.
Reference Troubleshooting
docs/reference/troubleshooting.md
Added four troubleshooting sections mirroring skill documentation: Docker permission denied resolution, local inference timeout configuration, OpenShell version incompatibility workaround, and proxy connectivity resolution with configurable settings.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Poem

🐰 Hops through docs with curious glee,
New configs hopping wild and free—
Timeouts, proxies, presets bright,
Credentials managed just right!
Documentation blooms anew, 🌱
With helpful guides in every view!

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the primary change: updating documentation to reflect v0.0.10 changes, which aligns with the comprehensive documentation updates across multiple files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

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

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

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: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
.agents/skills/nemoclaw-user-reference/references/commands.md (1)

1-1: ⚠️ Potential issue | 🟠 Major

Missing SPDX license header.

The file lacks the required SPDX license header. All Markdown files must include:

<!--
  SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
  SPDX-License-Identifier: Apache-2.0
-->

Since this file is autogenerated by scripts/docs-to-skills.py, update the generation script to include the SPDX header in all output files.

As per coding guidelines, every source file matching **/*.{js,ts,tsx,sh,md} must include an SPDX license header.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.agents/skills/nemoclaw-user-reference/references/commands.md at line 1, The
generated Markdown file is missing the required SPDX header; update the
generator scripts/docs-to-skills.py so it prepends the SPDX header block (the
three-line HTML comment with SPDX-FileCopyrightText and SPDX-License-Identifier:
Apache-2.0) to every output it writes for files matching **/*.{js,ts,tsx,sh,md};
modify the code path that writes files (look for the function or method that
renders/writes files in docs-to-skills.py) to insert this header at the top of
each generated file before writing to disk, ensuring existing autogenerated
files receive the exact header text.
🧹 Nitpick comments (6)
docs/reference/commands.md (2)

289-289: Passive voice detected.

"Values are not printed" uses passive voice.

Revise to active voice, for example: "The command does not display credential values."

As per coding guidelines, active voice is required; flag passive constructions.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/reference/commands.md` at line 289, Replace the passive sentence "Values
are not printed" in docs/reference/commands.md with an active-voice
alternative—e.g., "The command does not display credential values." Update any
nearby passive constructions in the same section to active voice to match the
coding guidelines and ensure the subject and actor are explicit.

298-298: Awkward phrasing with passive construction.

"After removal, re-running nemoclaw onboard re-prompts for that key" is awkward due to the repetitive "re-" prefix and passive-ish construction.

Consider rephrasing in active voice, for example: "After you remove a credential, nemoclaw onboard prompts for it again."

As per coding guidelines, active voice is required; flag passive constructions.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/reference/commands.md` at line 298, Rewrite the passive, awkward
sentence to active voice: replace "After removal, re-running `nemoclaw onboard`
re-prompts for that key." with an active phrasing such as "After you remove a
credential, `nemoclaw onboard` prompts for it again." Ensure the change is made
in the docs text referencing the `nemoclaw onboard` command and follow the
active-voice guideline.
docs/deployment/deploy-to-remote-gpu.md (1)

134-136: Passive voice detected.

Lines 134 and 136 use passive voice:

  • "These values are baked into the sandbox image at build time."
  • "The port must be numeric (0-65535)."

Revise to active voice, for example:

  • "NemoClaw bakes these values into the sandbox image at build time."
  • "The port value must be a number from 0 to 65535."

As per coding guidelines, active voice is required; flag passive constructions.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/deployment/deploy-to-remote-gpu.md` around lines 134 - 136, Revise the
two passive sentences to active voice by naming the actor and rephrasing the
port sentence; replace "These values are baked into the sandbox image at build
time." with something like "NemoClaw bakes these values into the sandbox image
at build time." and change "The port must be numeric (0-65535)." to "The port
value must be a number from 0 to 65535." — update the occurrences of those exact
phrases in the doc so they use the active-voice forms.
docs/inference/use-local-inference.md (1)

221-221: Passive voice detected.

"This setting is baked into the sandbox at build time" uses passive voice.

Revise to active voice, for example: "NemoClaw bakes this setting into the sandbox at build time."

As per coding guidelines, active voice is required; flag passive constructions.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/inference/use-local-inference.md` at line 221, Replace the passive
sentence "This setting is baked into the sandbox at build time." with an
active-voice phrasing that names the actor—e.g., "NemoClaw bakes this setting
into the sandbox at build time." Update the line in
docs/inference/use-local-inference.md so the document uses active voice
consistently.
docs/reference/troubleshooting.md (2)

297-297: Use active voice.

"SSH secrets were not persisted" is passive. Rewrite in active voice, for example: "OpenShell did not persist SSH secrets" or restructure to focus on the outcome: "SSH secrets do not survive restarts."

As per coding guidelines, active voice is required in documentation.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/reference/troubleshooting.md` at line 297, The sentence uses passive
voice ("SSH secrets were not persisted"); change it to active voice by rewriting
it to something like "OpenShell did not persist SSH secrets, so sandboxes
created with OpenShell versions older than 0.0.24 can become unreachable after a
gateway restart" or "SSH secrets do not survive restarts, so sandboxes created
with OpenShell versions older than 0.0.24 can become unreachable after a gateway
restart"; update the line containing "Sandboxes created with OpenShell versions
older than 0.0.24 can become unreachable after a gateway restart because SSH
secrets were not persisted" to one of these active-voice phrasings.

312-312: Use active voice.

"These are build-time settings baked into the sandbox image" is passive. Rewrite in active voice, for example: "NemoClaw bakes these build-time settings into the sandbox image."

As per coding guidelines, active voice is required in documentation.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/reference/troubleshooting.md` at line 312, Replace the passive sentence
"These are build-time settings baked into the sandbox image." with an
active-voice sentence that names the actor—e.g., "NemoClaw bakes these
build-time settings into the sandbox image." Update the line in
docs/reference/troubleshooting.md so the documentation uses active voice and
explicitly states the actor (NemoClaw) performing the action.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/deployment/deploy-to-remote-gpu.md`:
- Line 136: The port validation regex in bin/lib/onboard.js currently allows any
1–5 digit number; update the validation used in the onboarding logic (the
regex/validation applied to the "port" variable in the onboarding/input handling
function) to only accept 0–65535 — for example replace the permissive
/^[0-9]{1,5}$/ check with a stricter check that enforces the numeric range
(either a single regex enforcing 0-65535 or parseInt the value and assert 0 <=
port && port <= 65535) and ensure the validation error message remains clear.

---

Outside diff comments:
In @.agents/skills/nemoclaw-user-reference/references/commands.md:
- Line 1: The generated Markdown file is missing the required SPDX header;
update the generator scripts/docs-to-skills.py so it prepends the SPDX header
block (the three-line HTML comment with SPDX-FileCopyrightText and
SPDX-License-Identifier: Apache-2.0) to every output it writes for files
matching **/*.{js,ts,tsx,sh,md}; modify the code path that writes files (look
for the function or method that renders/writes files in docs-to-skills.py) to
insert this header at the top of each generated file before writing to disk,
ensuring existing autogenerated files receive the exact header text.

---

Nitpick comments:
In `@docs/deployment/deploy-to-remote-gpu.md`:
- Around line 134-136: Revise the two passive sentences to active voice by
naming the actor and rephrasing the port sentence; replace "These values are
baked into the sandbox image at build time." with something like "NemoClaw bakes
these values into the sandbox image at build time." and change "The port must be
numeric (0-65535)." to "The port value must be a number from 0 to 65535." —
update the occurrences of those exact phrases in the doc so they use the
active-voice forms.

In `@docs/inference/use-local-inference.md`:
- Line 221: Replace the passive sentence "This setting is baked into the sandbox
at build time." with an active-voice phrasing that names the actor—e.g.,
"NemoClaw bakes this setting into the sandbox at build time." Update the line in
docs/inference/use-local-inference.md so the document uses active voice
consistently.

In `@docs/reference/commands.md`:
- Line 289: Replace the passive sentence "Values are not printed" in
docs/reference/commands.md with an active-voice alternative—e.g., "The command
does not display credential values." Update any nearby passive constructions in
the same section to active voice to match the coding guidelines and ensure the
subject and actor are explicit.
- Line 298: Rewrite the passive, awkward sentence to active voice: replace
"After removal, re-running `nemoclaw onboard` re-prompts for that key." with an
active phrasing such as "After you remove a credential, `nemoclaw onboard`
prompts for it again." Ensure the change is made in the docs text referencing
the `nemoclaw onboard` command and follow the active-voice guideline.

In `@docs/reference/troubleshooting.md`:
- Line 297: The sentence uses passive voice ("SSH secrets were not persisted");
change it to active voice by rewriting it to something like "OpenShell did not
persist SSH secrets, so sandboxes created with OpenShell versions older than
0.0.24 can become unreachable after a gateway restart" or "SSH secrets do not
survive restarts, so sandboxes created with OpenShell versions older than 0.0.24
can become unreachable after a gateway restart"; update the line containing
"Sandboxes created with OpenShell versions older than 0.0.24 can become
unreachable after a gateway restart because SSH secrets were not persisted" to
one of these active-voice phrasings.
- Line 312: Replace the passive sentence "These are build-time settings baked
into the sandbox image." with an active-voice sentence that names the
actor—e.g., "NemoClaw bakes these build-time settings into the sandbox image."
Update the line in docs/reference/troubleshooting.md so the documentation uses
active voice and explicitly states the actor (NemoClaw) performing the action.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

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

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: a59fafe9-8b2a-4087-a5db-f9a4f499820e

📥 Commits

Reviewing files that changed from the base of the PR and between 6b74173 and c8e9020.

📒 Files selected for processing (10)
  • .agents/skills/nemoclaw-user-configure-inference/SKILL.md
  • .agents/skills/nemoclaw-user-deploy-remote/SKILL.md
  • .agents/skills/nemoclaw-user-manage-policy/SKILL.md
  • .agents/skills/nemoclaw-user-reference/references/commands.md
  • .agents/skills/nemoclaw-user-reference/references/troubleshooting.md
  • docs/deployment/deploy-to-remote-gpu.md
  • docs/inference/use-local-inference.md
  • docs/network-policy/customize-network-policy.md
  • docs/reference/commands.md
  • docs/reference/troubleshooting.md


These values are baked into the sandbox image at build time.
Only alphanumeric characters, dots, hyphens, and colons are accepted for the host.
The port must be numeric (0-65535).
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

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Check the proxy port validation regex and constraints

rg -nP 'PROXY_PORT_RE\s*=' bin/lib/onboard.js

Repository: NVIDIA/NemoClaw

Length of output: 102


🏁 Script executed:

#!/bin/bash
# Search for how PROXY_PORT_RE is used and if there's range validation

rg -nA 5 -B 5 'PROXY_PORT_RE' bin/lib/onboard.js

Repository: NVIDIA/NemoClaw

Length of output: 1047


🏁 Script executed:

#!/bin/bash
# Search for NEMOCLAW_PROXY_PORT validation in other files

rg -n 'NEMOCLAW_PROXY_PORT' --type sh

Repository: NVIDIA/NemoClaw

Length of output: 233


🏁 Script executed:

#!/bin/bash
# Check nemoclaw-start.sh for port validation

sed -n '470,490p' scripts/nemoclaw-start.sh

Repository: NVIDIA/NemoClaw

Length of output: 1058


Tighten port range validation to match documented range.

The validation regex /^[0-9]{1,5}$/ accepts any 1–5 digit number (0–99999), which includes invalid ports like 70000 or 99999.
Valid ports are 0–65535.
Update the regex in bin/lib/onboard.js to enforce the documented range, or update the documentation if a different range is intentional.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/deployment/deploy-to-remote-gpu.md` at line 136, The port validation
regex in bin/lib/onboard.js currently allows any 1–5 digit number; update the
validation used in the onboarding logic (the regex/validation applied to the
"port" variable in the onboarding/input handling function) to only accept
0–65535 — for example replace the permissive /^[0-9]{1,5}$/ check with a
stricter check that enforces the numeric range (either a single regex enforcing
0-65535 or parseInt the value and assert 0 <= port && port <= 65535) and ensure
the validation error message remains clear.

@miyoungc miyoungc merged commit 160b8e0 into main Apr 9, 2026
12 checks passed
@miyoungc miyoungc added the documentation Improvements or additions to documentation label Apr 9, 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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants