Skip to content

"Copy" Shortcut for Quick Install Commands Include $ Prefix (Windows) #3847

@HanClinto

Description

@HanClinto

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:

Image

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:

Image
$ : 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:

  1. Use language-specific fences for runnable commands:
    • powershell for Windows PowerShell.
    • bash or sh for Linux, macOS, and WSL shell commands.
  2. Put only the command in copyable code blocks.
  3. Reserve console blocks for terminal transcripts that include prompts, output, or interactive sessions.
  4. 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.

Metadata

Metadata

Assignees

Labels

area: docsDocumentation, examples, guides, or docs buildarea: installInstall, setup, prerequisites, or uninstall flowarea: onboardingOnboarding FSM, provider setup, sandbox launch, or first-run flowplatform: windowsAffects native Windows environmentsplatform: wslAffects Windows Subsystem for Linuxv0.0.53Release target

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions