Description
Summary
Some NemoClaw documentation (in particular, some of the getting started documentation) uses console code blocks with leading $ prompt markers for commands that users are expected to copy and run.
This follows the current docs style guide, but it creates a poor copy-paste experience. On Windows PowerShell in particular, copying the $ causes the command to fail because PowerShell treats $ as input, not as a prompt marker.
This is especially likely to affect Windows users who are following setup docs and may be less familiar with Unix-style shell prompt conventions.
Example
The Windows preparation docs currently show:
The "Copy to Clipboard" button is friendly and inviting for such a long command, but when pressed, the clipboard now includes the leading $. Simply pasting into Powershell (as seemingly instructed) produces:
$ : The term '$' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ $ Invoke-WebRequest -Uri 'https://raw.githubusercontent.com/NVIDIA/Ne ...
+ ~
+ CategoryInfo : ObjectNotFound: ($:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
The argument 'C:\Users\hancl\AppData\Local\Temp\bootstrap-windows.ps1' to the -File parameter does not exist. Provide the path to an existing '.ps1' file as an argument to the -File parameter.
The script download does not run, so the subsequent -File "$env:TEMP\bootstrap-windows.ps1" invocation also fails because the file was never created.
Users more familiar with Powershell will instantly recognize that the $ is meant to be manually removed before running the command, but (especially for new users looking to install this for the first time), this represents a potential stumbling-block right out of the gate.
Why this matters
The $ prompt convention is common in terminal documentation, but it is easy to misinterpret when a page provides a copy button.
This is particularly confusing in Windows PowerShell because:
$ is valid PowerShell syntax for variables.
$ is not the native PowerShell prompt convention.
- Users following Windows setup instructions may be new to command-line setup flows.
- The failure happens before the actual install script runs, so users may think the NemoClaw installer is broken.
Current project convention
The repository currently treats this as intentional style:
docs/CONTRIBUTING.md says CLI examples should use console blocks and prefix commands with $.
.coderabbit.yaml asks review automation to flag CLI examples that do not use console with $.
.markdownlint-cli2.yaml disables MD014 because $ prefixes in code blocks are intentional.
So this is not an isolated typo. It is a docs style issue.
Affected Page
docs/get-started/windows-preparation.mdx
Issue Type
Unclear or confusing
Suggested Fix
Proposed change
Update the documentation style guide so copy-pasteable commands do not include shell prompt markers.
Recommended convention:
- Use language-specific fences for runnable commands:
powershell for Windows PowerShell.
bash or sh for Linux, macOS, and WSL shell commands.
- Put only the command in copyable code blocks.
- Reserve
console blocks for terminal transcripts that include prompts, output, or interactive sessions.
- If a transcript includes
$, make sure it is not presented as a command users should copy directly.
For example, change:
```console
$ Invoke-WebRequest -Uri 'https://raw.githubusercontent.com/NVIDIA/NemoClaw/main/scripts/bootstrap-windows.ps1' -OutFile "$env:TEMP\bootstrap-windows.ps1"; powershell.exe -ExecutionPolicy Bypass -File "$env:TEMP\bootstrap-windows.ps1"
```
to:
```powershell
Invoke-WebRequest -Uri 'https://raw.githubusercontent.com/NVIDIA/NemoClaw/main/scripts/bootstrap-windows.ps1' -OutFile "$env:TEMP\bootstrap-windows.ps1"; powershell.exe -ExecutionPolicy Bypass -File "$env:TEMP\bootstrap-windows.ps1"
```
And change Linux/WSL examples like:
```console
$ curl -fsSL https://www.nvidia.com/nemoclaw.sh | bash
```
to:
```bash
curl -fsSL https://www.nvidia.com/nemoclaw.sh | bash
```
Suggested scope
At minimum, update Windows copy-pasteable docs first, especially:
- Windows preparation / bootstrap script.
- Any
wsl commands shown for PowerShell.
- Any mixed Windows/WSL examples where users need to switch environments.
Then update the broader docs style guide and generated skills pipeline expectations.
Implementation notes
Potential follow-up changes:
- Update
docs/CONTRIBUTING.md formatting rules.
- Update
.coderabbit.yaml review instructions.
- Reconsider the
MD014 markdownlint override in .markdownlint-cli2.yaml.
- Update source MDX docs under
docs/.
- Regenerate user skills under
.agents/skills/ from the docs source rather than editing generated skill references by hand.
Acceptance criteria
- Copying the Windows bootstrap command from the rendered docs works when pasted directly into Windows PowerShell.
- Runnable command examples no longer include leading
$ prompt markers.
console blocks are reserved for transcripts/output, not copyable commands.
- The style guide and review automation agree on the new convention.
- Generated user skills reflect the updated command formatting after regeneration.
Description
Summary
Some NemoClaw documentation (in particular, some of the getting started documentation) uses
consolecode blocks with leading$prompt markers for commands that users are expected to copy and run.This follows the current docs style guide, but it creates a poor copy-paste experience. On Windows PowerShell in particular, copying the
$causes the command to fail because PowerShell treats$as input, not as a prompt marker.This is especially likely to affect Windows users who are following setup docs and may be less familiar with Unix-style shell prompt conventions.
Example
The Windows preparation docs currently show:
The "Copy to Clipboard" button is friendly and inviting for such a long command, but when pressed, the clipboard now includes the leading
$. Simply pasting into Powershell (as seemingly instructed) produces:The script download does not run, so the subsequent
-File "$env:TEMP\bootstrap-windows.ps1"invocation also fails because the file was never created.Users more familiar with Powershell will instantly recognize that the $ is meant to be manually removed before running the command, but (especially for new users looking to install this for the first time), this represents a potential stumbling-block right out of the gate.
Why this matters
The
$prompt convention is common in terminal documentation, but it is easy to misinterpret when a page provides a copy button.This is particularly confusing in Windows PowerShell because:
$is valid PowerShell syntax for variables.$is not the native PowerShell prompt convention.Current project convention
The repository currently treats this as intentional style:
docs/CONTRIBUTING.mdsays CLI examples should useconsoleblocks and prefix commands with$..coderabbit.yamlasks review automation to flag CLI examples that do not useconsolewith$..markdownlint-cli2.yamldisablesMD014because$prefixes in code blocks are intentional.So this is not an isolated typo. It is a docs style issue.
Affected Page
docs/get-started/windows-preparation.mdx
Issue Type
Unclear or confusing
Suggested Fix
Proposed change
Update the documentation style guide so copy-pasteable commands do not include shell prompt markers.
Recommended convention:
powershellfor Windows PowerShell.bashorshfor Linux, macOS, and WSL shell commands.consoleblocks for terminal transcripts that include prompts, output, or interactive sessions.$, make sure it is not presented as a command users should copy directly.For example, change:
to:
And change Linux/WSL examples like:
to:
Suggested scope
At minimum, update Windows copy-pasteable docs first, especially:
wslcommands shown for PowerShell.Then update the broader docs style guide and generated skills pipeline expectations.
Implementation notes
Potential follow-up changes:
docs/CONTRIBUTING.mdformatting rules..coderabbit.yamlreview instructions.MD014markdownlint override in.markdownlint-cli2.yaml.docs/..agents/skills/from the docs source rather than editing generated skill references by hand.Acceptance criteria
$prompt markers.consoleblocks are reserved for transcripts/output, not copyable commands.