Cursor/offline docs key keeper#4568
Conversation
Add credential store override support for safe isolated testing, introduce key management CLI commands, and document offline setup plus terminal frontend planning for NemoClaw operators. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
📝 WalkthroughWalkthroughThis PR introduces NemoClaw's credential key management system, enabling users to securely store and manage API keys via CLI. Core changes add environment-configurable credential storage with delete/list operations, a ChangesCredential Key Management System
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
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 (2)
docs/get-started/offline-setup.md (1)
1-99:⚠️ Potential issue | 🟠 Major | ⚡ Quick winAdd required docs frontmatter and a bottom “Next Steps” section.
This new page is missing required frontmatter metadata and does not include a “Next Steps” section with related links.
As per coding guidelines, new
docs/**pages must include frontmatter fields and “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/get-started/offline-setup.md` around lines 1 - 99, The new "Offline Setup and Secure Keys" page is missing required Sphinx/markdown frontmatter and a bottom "Next Steps" section; add standard frontmatter (e.g., title, description, sidebar or toc metadata used by the docs framework) at the top of the "Offline Setup and Secure Keys" document and append a "Next Steps" section at the bottom that links to related pages (for example: Get Started, Onboarding, Keys CLI, and Troubleshooting) so the page conforms to the docs/** guidelines and provides navigational links for readers.docs/reference/terminal-frontend-plan.md (1)
1-58:⚠️ Potential issue | 🟠 Major | ⚡ Quick winAdd required frontmatter and a “Next Steps” section.
This new reference page is missing required frontmatter metadata and does not end with a “Next Steps” section linking related docs.
As per coding guidelines, new
docs/**pages must include frontmatter fields and a bottom “Next Steps” section.🤖 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/terminal-frontend-plan.md` around lines 1 - 58, Add the required frontmatter block at the top of docs/reference/terminal-frontend-plan.md (e.g., title: "Terminal Frontend Plan", description, slug or permalink, tags/category, and sidebar positioning) so the page is recognized by the docs site, and append a "Next Steps" section at the bottom linking related docs (for example links to bin/nemoclaw.js, bin/lib/tui.js, and any design or operator UX pages) and to the `nemoclaw ui` command; ensure the frontmatter sits before the "# Terminal Frontend Plan" heading and the Next Steps section follows the "Validation checklist" so the doc passes guidelines.
🧹 Nitpick comments (2)
docs/get-started/offline-setup.md (1)
10-10: ⚡ Quick winRemove numbering from section titles.
Headings like
## 1) ...and## 5) ...violate the docs title rule.As per coding guidelines, “Do not number section titles.”
Also applies to: 16-16, 28-28, 39-39, 86-86
🤖 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/offline-setup.md` at line 10, Remove the leading numbered prefixes from section headings in docs/get-started/offline-setup.md (e.g., change "## 1) Update the repository", "## 5) ...", and the other headings referenced) so they comply with the docs rule "Do not number section titles"; locate the headings by their exact text (the strings starting with "## " followed by a digit and ")") and edit them to keep the descriptive title only (e.g., "## Update the repository") ensuring spacing and heading level remain unchanged.docs/reference/terminal-frontend-plan.md (1)
18-29: ⚡ Quick winSimplify flow/panel bullets by removing bold-label + colon formatting.
This pattern triggers two style violations: unnecessary bold on routine instructions and colons used as clause punctuation. LLM pattern detected.
As per coding guidelines, “Unnecessary bold on routine instructions … should be flagged” and “Colons should only introduce a list.”
🤖 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/terminal-frontend-plan.md` around lines 18 - 29, The bullets use bold-label + colon patterns (e.g., "Launch flow:", "Home panel:", "Keys panel:") which must be simplified; edit each bullet in the diff to remove bold markup and the trailing colon so they read as plain phrases or short noun phrases (e.g., "Launch flow — create/select sandbox, start services, attach logs, open chat entrypoint" or "Home panel — default sandbox summary and quick actions"), keeping the same content and comma-separated actions, and apply this change for "Launch flow", "Status flow", "Credential flow", "Recovery flow", "Home panel", "Sandboxes panel", "Services panel", "Keys panel", and "Logs panel".
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/get-started/offline-setup.md`:
- Around line 12-14: Replace the CLI code fences that currently use the "bash"
language tag with "console" and add a leading "$ " prompt to each command so
examples follow the project's guideline; update the block containing "git pull
--rebase --autostash" and the other CLI blocks referenced (lines 20-26, 32-35,
47-49, 53-56, 60-62, 66-68, 90-92, 96-98) to use console fenced blocks and
prefix each command with "$ " (e.g., "$ git pull --rebase --autostash") to
ensure consistent CLI formatting across offline-setup.md.
---
Outside diff comments:
In `@docs/get-started/offline-setup.md`:
- Around line 1-99: The new "Offline Setup and Secure Keys" page is missing
required Sphinx/markdown frontmatter and a bottom "Next Steps" section; add
standard frontmatter (e.g., title, description, sidebar or toc metadata used by
the docs framework) at the top of the "Offline Setup and Secure Keys" document
and append a "Next Steps" section at the bottom that links to related pages (for
example: Get Started, Onboarding, Keys CLI, and Troubleshooting) so the page
conforms to the docs/** guidelines and provides navigational links for readers.
In `@docs/reference/terminal-frontend-plan.md`:
- Around line 1-58: Add the required frontmatter block at the top of
docs/reference/terminal-frontend-plan.md (e.g., title: "Terminal Frontend Plan",
description, slug or permalink, tags/category, and sidebar positioning) so the
page is recognized by the docs site, and append a "Next Steps" section at the
bottom linking related docs (for example links to bin/nemoclaw.js,
bin/lib/tui.js, and any design or operator UX pages) and to the `nemoclaw ui`
command; ensure the frontmatter sits before the "# Terminal Frontend Plan"
heading and the Next Steps section follows the "Validation checklist" so the doc
passes guidelines.
---
Nitpick comments:
In `@docs/get-started/offline-setup.md`:
- Line 10: Remove the leading numbered prefixes from section headings in
docs/get-started/offline-setup.md (e.g., change "## 1) Update the repository",
"## 5) ...", and the other headings referenced) so they comply with the docs
rule "Do not number section titles"; locate the headings by their exact text
(the strings starting with "## " followed by a digit and ")") and edit them to
keep the descriptive title only (e.g., "## Update the repository") ensuring
spacing and heading level remain unchanged.
In `@docs/reference/terminal-frontend-plan.md`:
- Around line 18-29: The bullets use bold-label + colon patterns (e.g., "Launch
flow:", "Home panel:", "Keys panel:") which must be simplified; edit each bullet
in the diff to remove bold markup and the trailing colon so they read as plain
phrases or short noun phrases (e.g., "Launch flow — create/select sandbox, start
services, attach logs, open chat entrypoint" or "Home panel — default sandbox
summary and quick actions"), keeping the same content and comma-separated
actions, and apply this change for "Launch flow", "Status flow", "Credential
flow", "Recovery flow", "Home panel", "Sandboxes panel", "Services panel", "Keys
panel", and "Logs panel".
🪄 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: Enterprise
Run ID: cac8925a-1a96-4a50-982a-b87ec3b5b8a5
📒 Files selected for processing (7)
bin/lib/credentials.jsbin/nemoclaw.jsdocs/get-started/offline-setup.mddocs/index.mddocs/reference/terminal-frontend-plan.mdtest/cli.test.jstest/keys-cli.test.js
| ```bash | ||
| git pull --rebase --autostash | ||
| ``` |
There was a problem hiding this comment.
Use console code fences with $ prompts for CLI examples.
All CLI blocks currently use bash without prompt prefixes.
As per coding guidelines, “CLI code blocks must use the console language tag with $ prompt prefix.”
Also applies to: 20-26, 32-35, 47-49, 53-56, 60-62, 66-68, 90-92, 96-98
🤖 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/offline-setup.md` around lines 12 - 14, Replace the CLI code
fences that currently use the "bash" language tag with "console" and add a
leading "$ " prompt to each command so examples follow the project's guideline;
update the block containing "git pull --rebase --autostash" and the other CLI
blocks referenced (lines 20-26, 32-35, 47-49, 53-56, 60-62, 66-68, 90-92, 96-98)
to use console fenced blocks and prefix each command with "$ " (e.g., "$ git
pull --rebase --autostash") to ensure consistent CLI formatting across
offline-setup.md.
Summary
Related Issue
Changes
Type of Change
Verification
npx prek run --all-filespassesnpm testpassesnpm run docsbuilds without warnings (doc changes only)Signed-off-by: Your Name your-email@example.com
Summary by CodeRabbit
New Features
nemoclaw keyscommand to manage stored API credentials withlist,set,remove, andpathsubcommands.Documentation
Tests