Skip to content

docs: clarify that the installer does not require root or sudo (#406)#1595

Merged
cv merged 1 commit intoNVIDIA:mainfrom
SudheerDev-AIML:docs/clarify-install-privileges-v2
Apr 8, 2026
Merged

docs: clarify that the installer does not require root or sudo (#406)#1595
cv merged 1 commit intoNVIDIA:mainfrom
SudheerDev-AIML:docs/clarify-install-privileges-v2

Conversation

@SudheerDev-AIML
Copy link
Copy Markdown
Contributor

@SudheerDev-AIML SudheerDev-AIML commented Apr 8, 2026

Summary

Clarify privilege requirements for the NemoClaw installer.
The install one-liner gave no indication of whether root was needed, causing confusion when users
hit permission errors from prerequisite tools (Docker, OpenShell) and assumed the installer itself
required elevated privileges.

This is a scoped-down refresh of #760, incorporating maintainer feedback.

Related Issue

Closes #406

Changes

  • Add a privileges note to the README quickstart callout explaining that the installer runs as a
    normal user and does not need sudo or root.
  • Add a new "Permission errors during installation" entry to the troubleshooting page
    (docs/reference/troubleshooting.md) explaining that permission errors typically come from
    prerequisites, not the NemoClaw installer.
  • Include auto-regenerated agent skill files from the docs-to-skills pipeline.

Type of Change

  • Code change for a new feature, bug fix, or refactor.
  • Code change with doc updates.
  • Doc only. Prose changes without code sample modifications.
  • Doc only. Includes code sample changes.

Testing

  • npx prek run --all-files passes (or equivalently make check).
  • npm test passes.
  • make docs builds without warnings. (for doc-only changes)

All pre-commit hooks passed: trailing-whitespace, end-of-file-fixer, markdownlint-cli2,
gitleaks, commitlint, skills YAML, and the Regenerate agent skills from docs hook.

Checklist

General

Code Changes

N/A — doc-only PR.

Doc Changes

  • Follows the style guide.
  • New pages include SPDX license header and frontmatter, if creating a new page.
  • Cross-references and links verified.

Summary by CodeRabbit

  • Documentation
    • Updated README with clarified installation prerequisites and requirements
    • Added troubleshooting section for permission errors during installation
    • Documented that the installer runs as a normal user without elevated privileges, installs Node.js and packages to user-local directories via standard package managers, and requires Docker to be pre-installed and running on the system

Signed-off-by: SudheerDev-AIML gsk.aiml@gmail.com

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Apr 8, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 7ea6482b-85fa-497e-9f76-2c27e911e7ad

📥 Commits

Reviewing files that changed from the base of the PR and between 9d0543c and 4b5e394.

📒 Files selected for processing (3)
  • .agents/skills/nemoclaw-user-reference/references/troubleshooting.md
  • README.md
  • docs/reference/troubleshooting.md
✅ Files skipped from review due to trivial changes (3)
  • docs/reference/troubleshooting.md
  • README.md
  • .agents/skills/nemoclaw-user-reference/references/troubleshooting.md

📝 Walkthrough

Walkthrough

The changes add clarification to installation documentation, explicitly stating that the NemoClaw installer runs as a normal user without requiring sudo/root, installs Node.js via nvm and NemoClaw via npm into user-local directories, and requires Docker to be pre-installed and running.

Changes

Cohort / File(s) Summary
Installation Documentation
README.md, docs/reference/troubleshooting.md, .agents/skills/nemoclaw-user-reference/references/troubleshooting.md
Added "Permission errors during installation" section clarifying that the installer does not require sudo/root, installs Node.js via nvm and NemoClaw via npm into user-local directories, and requires Docker to be installed and running beforehand. Permission errors during installation typically originate from Docker, not NemoClaw.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

🐰 The docs now speak clear as the morning sun's rays,
No sudo confusion to cloud up our days!
With nvm and npm in user homes we'll play,
Docker's the gatekeeper—all set! Hip hooray! 🎉

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and accurately summarizes the main change: clarifying that the NemoClaw installer does not require root or sudo privileges.
Linked Issues check ✅ Passed The PR successfully addresses the core requirement from issue #406 by explicitly clarifying installer privilege requirements and documenting that permission errors typically originate from prerequisites like Docker.
Out of Scope Changes check ✅ Passed All changes are directly related to clarifying installer privilege requirements across README and troubleshooting documentation files, with no unrelated modifications detected.
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

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

@SudheerDev-AIML SudheerDev-AIML force-pushed the docs/clarify-install-privileges-v2 branch from 3cb3b4a to bc5a183 Compare April 8, 2026 03:11
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.

Caution

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

⚠️ Outside diff range comments (1)
README.md (1)

1-1: ⚠️ Potential issue | 🔴 Critical

Missing required SPDX license header.

The coding guidelines require every source file matching **/*.{js,ts,tsx,sh,md} to include an SPDX license header.
For Markdown files, use HTML comments.

📝 Add the required SPDX header

Add these lines at the top of the file:

+<!--
+  SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+  SPDX-License-Identifier: Apache-2.0
+-->
+
 # 🦞 NVIDIA NemoClaw: Reference Stack for Running OpenClaw in OpenShell

As per coding guidelines, every Markdown file must include the SPDX license header using HTML comment syntax.

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

In `@README.md` at line 1, Add the required SPDX license header as an HTML comment
at the very top of the README before the existing title line "# 🦞 NVIDIA
NemoClaw: Reference Stack for Running OpenClaw in OpenShell"; insert the
standard SPDX lines (e.g., SPDX‑License‑Identifier and copyright notice) in HTML
comment form so the Markdown file complies with the **/*.{js,ts,tsx,sh,md}**
guideline.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Outside diff comments:
In `@README.md`:
- Line 1: Add the required SPDX license header as an HTML comment at the very
top of the README before the existing title line "# 🦞 NVIDIA NemoClaw:
Reference Stack for Running OpenClaw in OpenShell"; insert the standard SPDX
lines (e.g., SPDX‑License‑Identifier and copyright notice) in HTML comment form
so the Markdown file complies with the **/*.{js,ts,tsx,sh,md}** guideline.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 71b9a87f-d05a-4422-a9e8-1cd490787e51

📥 Commits

Reviewing files that changed from the base of the PR and between 782a17a and 3cb3b4a.

📒 Files selected for processing (8)
  • .agents/skills/nemoclaw-configure-security/SKILL.md
  • .agents/skills/nemoclaw-configure-security/references/best-practices.md
  • .agents/skills/nemoclaw-configure-security/references/credential-storage.md
  • .agents/skills/nemoclaw-reference/references/architecture.md
  • .agents/skills/nemoclaw-reference/references/commands.md
  • .agents/skills/nemoclaw-reference/references/troubleshooting.md
  • README.md
  • docs/reference/troubleshooting.md

@dknos
Copy link
Copy Markdown
Contributor

dknos commented Apr 8, 2026

⚠️ Add SPDX license header to README.md — one lint finding remaining:

+<!--
+  SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+  SPDX-License-Identifier: Apache-2.0
+-->
+
 # 🦞 NVIDIA NemoClaw: Reference Stack for Running OpenClaw in OpenShell

Add these lines to the very top of README.md (before the existing title). This aligns with the coding guidelines requiring all **/*.md files to include SPDX headers as HTML comments. After that fix, all checks will pass and this PR can merge.

README.md Outdated
>
> The installer runs as your normal user and does not require `sudo` or root.
> It installs Node.js via nvm and NemoClaw via npm, both into user-local directories.
> If the [prerequisite](#software) software (Docker, OpenShell) is not already installed, install it separately first. Those tools may require elevated privileges on Linux.
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.

I believe the installer installs OpenShell. Installing OpenShell separately might cause compatibility issues; the installer has a step to install a pinned version of OpenShell. cc @kjw3 @cv

@miyoungc
Copy link
Copy Markdown
Contributor

miyoungc commented Apr 8, 2026

The note about installing OpenShell separately is inaccurate — the NemoClaw installer and nemoclaw onboard already handle OpenShell installation automatically.

Code evidence:

  • bin/lib/onboard.js (lines 1653–1663): onboarding checks isOpenshellInstalled() and calls installOpenshell() if missing, which runs scripts/install-openshell.sh.
  • scripts/install-openshell.sh: downloads a pinned OpenShell release from GitHub, verifies the SHA-256 checksum, and enforces a minimum version (MIN_VERSION="0.0.22"), upgrading if needed.

Existing docs already warn against this. Multiple pages say:

Avoid openshell self-update, npm update -g openshell, openshell gateway start --recreate, or openshell sandbox create directly unless you intend to manage OpenShell separately and then rerun nemoclaw onboard.

docs/get-started/quickstart.md, docs/reference/commands.md, README.md

Telling users to "install [OpenShell] separately first" contradicts this guidance and could cause version mismatches with the pinned release the installer expects. Docker is a genuine prerequisite the user must provide, but OpenShell is not — the installer owns that dependency.

Suggestion: remove OpenShell from the "install separately" note and keep it scoped to Docker (and possibly other true prerequisites).

@SudheerDev-AIML SudheerDev-AIML force-pushed the docs/clarify-install-privileges-v2 branch from bc5a183 to 9d0543c Compare April 8, 2026 14:37
@SudheerDev-AIML
Copy link
Copy Markdown
Contributor Author

Hi @miyoungc

Good catch, thank you. Updated to remove OpenShell from the prerequisites note . Only Docker is listed now. The troubleshooting entry also notes that the installer handles OpenShell automatically.

Thank you.

@miyoungc
Copy link
Copy Markdown
Contributor

miyoungc commented Apr 8, 2026

Thank you for your contribution! Approved

@miyoungc
Copy link
Copy Markdown
Contributor

miyoungc commented Apr 8, 2026

Please add a DCO sign-off line in the PR description.

Error: PR description must contain a DCO sign-off line.
Error: Expected format: Signed-off-by: Your Name your-email@example.com
Error: Process completed with exit code 1.

…A#406)

Add a privileges note to the README quickstart section explaining that
the installer runs as a normal user without sudo or root. Add a matching
troubleshooting entry for users who encounter permission errors from
Docker and mistake them for installer failures. Add the required SPDX
license header to README.md.

The installer handles OpenShell installation automatically via a pinned
release, so only Docker is listed as a true user-provided prerequisite.

Closes NVIDIA#406

Made-with: Cursor
@SudheerDev-AIML SudheerDev-AIML force-pushed the docs/clarify-install-privileges-v2 branch from 9d0543c to 4b5e394 Compare April 8, 2026 18:25
@cv cv merged commit c452d21 into NVIDIA:main Apr 8, 2026
1 check passed
gemini2026 pushed a commit to gemini2026/NemoClaw that referenced this pull request Apr 14, 2026
…A#406) (NVIDIA#1595)

<!-- markdownlint-disable MD041 -->
## Summary

Clarify privilege requirements for the NemoClaw installer.
The install one-liner gave no indication of whether root was needed,
causing confusion when users
hit permission errors from prerequisite tools (Docker, OpenShell) and
assumed the installer itself
required elevated privileges.

This is a scoped-down refresh of NVIDIA#760, incorporating maintainer
feedback.

## Related Issue

Closes NVIDIA#406

## Changes

- Add a privileges note to the README quickstart callout explaining that
the installer runs as a
  normal user and does not need `sudo` or root.
- Add a new "Permission errors during installation" entry to the
troubleshooting page
(`docs/reference/troubleshooting.md`) explaining that permission errors
typically come from
  prerequisites, not the NemoClaw installer.
- Include auto-regenerated agent skill files from the `docs-to-skills`
pipeline.

## Type of Change

- [ ] Code change for a new feature, bug fix, or refactor.
- [ ] Code change with doc updates.
- [x] Doc only. Prose changes without code sample modifications.
- [ ] Doc only. Includes code sample changes.

## Testing

- [x] `npx prek run --all-files` passes (or equivalently `make check`).
- [ ] `npm test` passes.
- [ ] `make docs` builds without warnings. (for doc-only changes)

All pre-commit hooks passed: trailing-whitespace, end-of-file-fixer,
markdownlint-cli2,
gitleaks, commitlint, skills YAML, and the `Regenerate agent skills from
docs` hook.

## Checklist

### General

- [x] I have read and followed the [contributing
guide](CONTRIBUTING.md).
- [x] I have read and followed the [style guide](docs/CONTRIBUTING.md).
(for doc-only changes)

### Code Changes

_N/A — doc-only PR._

### Doc Changes

- [x] Follows the [style guide](docs/CONTRIBUTING.md).
- [ ] New pages include SPDX license header and frontmatter, if creating
a new page.
- [x] Cross-references and links verified.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Documentation**
* Updated README with clarified installation prerequisites and
requirements
* Added troubleshooting section for permission errors during
installation
* Documented that the installer runs as a normal user without elevated
privileges, installs Node.js and packages to user-local directories via
standard package managers, and requires Docker to be pre-installed and
running on the system
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Signed-off-by: SudheerDev-AIML <gsk.aiml@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Instructions are incorrect/misleading/unclear

4 participants