Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions .github/workflows/docs-preview-pr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ on:
- "README.md"
- "package.json"
- "package-lock.json"
- "scripts/generate-starter-prompt.ts"
- "scripts/sync-agent-variant-docs.ts"
- ".github/workflows/docs-preview-pr.yaml"

concurrency:
Expand Down Expand Up @@ -56,8 +58,10 @@ jobs:
- name: Install docs dependencies
run: npm ci --ignore-scripts

- name: Validate docs
run: npm run docs
- name: Prepare and validate docs
run: |
npm run docs:prepare
npm run docs:validate

- name: Generate preview URL
if: ${{ steps.fern-preview.outputs.enabled == 'true' }}
Expand All @@ -66,7 +70,6 @@ jobs:
FERN_TOKEN: ${{ secrets.FERN_TOKEN }}
PREVIEW_ID: pr-${{ github.event.pull_request.number }}
run: |
npm run docs:check-agent-variants
FERN_VERSION=$(node -p "require('./fern/fern.config.json').version")
set +e
OUTPUT=$(cd fern && npx --yes "fern-api@${FERN_VERSION}" generate --docs --instance "$FERN_STAGING_INSTANCE" --preview --id "$PREVIEW_ID" 2>&1)
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/docs-publish-public.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -47,10 +47,10 @@ jobs:
- name: Install docs dependencies
run: npm ci --ignore-scripts

- name: Generate doc variants and validate Fern docs
- name: Prepare and validate Fern docs
run: |
npm run docs:sync-agent-variants
npm run docs
npm run docs:prepare
npm run docs:validate

- name: Publish public docs
env:
Expand Down
7 changes: 4 additions & 3 deletions .github/workflows/docs-publish-staging.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ on:
- "fern/**"
- "package.json"
- "package-lock.json"
- "scripts/generate-starter-prompt.ts"
- "scripts/sync-agent-variant-docs.ts"
- ".github/workflows/docs-publish-staging.yaml"

Expand Down Expand Up @@ -43,10 +44,10 @@ jobs:
- name: Install docs dependencies
run: npm ci --ignore-scripts

- name: Generate doc variants and validate Fern docs
- name: Prepare and validate Fern docs
run: |
npm run docs:sync-agent-variants
npm run docs
npm run docs:prepare
npm run docs:validate

- name: Publish staging docs
env:
Expand Down
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@ repos:
name: Repository checks
entry: npm run checks
language: system
files: ^(\.pre-commit-config\.yaml$|\.github/workflows/e2e\.yaml$|Dockerfile(?:\.base)?$|agents/openclaw/manifest\.yaml$|agents/hermes/(?:Dockerfile(?:\.base)?|manifest\.yaml|mcp-config-transaction\.py)$|nemoclaw-blueprint/blueprint\.yaml$|nemoclaw/package\.json$|scripts/(?:brev-launchable-ci-cpu|check-installer-hash|install-openshell|update-hermes-agent)\.sh$|src/lib/actions/sandbox/openshell-child-visible-credentials\.v[0-9]+\.[0-9]+\.[0-9]+\.json$|bin/.*\.(cjs|js|mjs)$|src/.*\.(cts|mts|ts|tsx)$|scripts/.*\.(cjs|cts|js|mjs|mts|ts|tsx)$|test/.*\.(cjs|cts|js|mjs|mts|ts|tsx)$|nemoclaw/src/.*\.(cts|mts|ts|tsx)$)
files: ^(\.pre-commit-config\.yaml$|\.github/workflows/e2e\.yaml$|Dockerfile(?:\.base)?$|agents/openclaw/manifest\.yaml$|agents/hermes/(?:Dockerfile(?:\.base)?|manifest\.yaml|mcp-config-transaction\.py)$|docs/resources/starter-prompt\.md$|nemoclaw-blueprint/blueprint\.yaml$|nemoclaw/package\.json$|scripts/(?:brev-launchable-ci-cpu|check-installer-hash|install-openshell|update-hermes-agent)\.sh$|src/lib/actions/sandbox/openshell-child-visible-credentials\.v[0-9]+\.[0-9]+\.[0-9]+\.json$|bin/.*\.(cjs|js|mjs)$|src/.*\.(cts|mts|ts|tsx)$|scripts/.*\.(cjs|cts|js|mjs|mts|ts|tsx)$|test/.*\.(cjs|cts|js|mjs|mts|ts|tsx)$|nemoclaw/src/.*\.(cts|mts|ts|tsx)$)
pass_filenames: false
priority: 10

Expand Down
5 changes: 5 additions & 0 deletions ci/source-shape-test-budget.json
Original file line number Diff line number Diff line change
Expand Up @@ -456,6 +456,11 @@
"test": "walkthrough.sh does not embed NVIDIA_INFERENCE_API_KEY in tmux or sandbox commands",
"category": "security"
},
{
"file": "test/starter-prompt-docs.test.ts",
"test": "prepares the Starter Prompt in every docs build entry point (#5048)",
"category": "compatibility"
},
{
"file": "test/validate-blueprint.test.ts",
"test": "pins the sandbox image by digest instead of a mutable tag (#1438)",
Expand Down
27 changes: 27 additions & 0 deletions docs/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,33 @@ Public docs publish automatically when a `v*.*.*` release tag is pushed.
The public publish job runs in the `docs-public` environment, verifies that the tag commit is reachable from `origin/main`, regenerates agent variants, validates Fern docs, and publishes to the public Fern instance.
If the tag does not point to a commit on `main`, the job stops before installing dependencies or running Fern.

## Starter Prompt Generation

The canonical coding-agent installation prompt lives in `docs/resources/starter-prompt.md`.
Edit that Markdown file instead of placing prompt text in a React component.
Downstream consumers can pin the source with a raw URL such as
`https://raw.githubusercontent.com/NVIDIA/NemoClaw/<commit-sha>/docs/resources/starter-prompt.md`.
Comment on lines +116 to +117

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.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Keep one sentence per Markdown line.

Lines 116-117 split one sentence across two lines. Keep the sentence on one line or introduce the URL as a separate sentence.

As per coding guidelines, Markdown documentation must use one sentence per line and end every sentence with a period.

🤖 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/CONTRIBUTING.md` around lines 116 - 117, Update the documentation text
around the downstream-consumer raw URL so each sentence occupies one Markdown
line and ends with a period. Keep the URL example intact, either placing the
entire sentence on one line or making the URL introduction a separate complete
sentence.

Source: Coding guidelines

The Markdown SPDX comment is part of that raw file but does not appear when Markdown is rendered.

The `scripts/generate-starter-prompt.ts` script removes the Markdown SPDX preamble and writes `docs/_build/StarterPrompt.generated.mdx`.
The generated snippet wraps the prompt in Fern's native visible `Prompt` component, which displays the prompt body and supplies the copy button.
The generated file is ignored by Git and is recreated by the docs build.

Run the generator directly when you need to inspect the generated snippet:

```bash
npm run docs:sync-starter-prompt
```

Run the read-only comparison after generation when you need to verify that the snippet matches the Markdown source:

```bash
npm run docs:check-starter-prompt
```

The shared `npm run docs:prepare` step generates the Starter Prompt and agent variants.
The normal `npm run docs`, `npm run docs:live`, agent-variant sync, preview-watcher, and docs publish workflows run that step before Fern validates, serves, previews, or publishes the pages that include the prompt.

## Agent Variant Generation

Some Fern pages appear in the OpenClaw, Hermes, and Deep Agents guide variants.
Expand Down
175 changes: 0 additions & 175 deletions docs/_components/StarterPromptButton.tsx

This file was deleted.

6 changes: 3 additions & 3 deletions docs/about/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ Use these topics to learn more about NemoClaw and how to install and use it.
- Read [Architecture Overview](how-it-works) to understand how NemoClaw works.
- Read [Ecosystem](ecosystem) to understand how your agent, OpenShell, and NemoClaw relate in the wider stack, and when to use NemoClaw versus OpenShell.
- Follow [Quickstart with OpenClaw](../get-started/quickstart) to install NemoClaw and run your first OpenClaw sandbox.
- Read [AI Agent Docs](../resources/agent-skills) to let your AI coding assistant fetch NemoClaw Markdown docs.
- Read [Use NemoClaw Docs with Your Coding Agents](../resources/agent-skills) to let your AI coding assistant fetch NemoClaw Markdown docs.
- Review [Community Solutions](../resources/community-contributions) for community-driven blueprint examples, showcases, and integrations.
- Read [Choose an Inference Provider](../inference/learn-and-choose/choose-inference-provider) to check the inference providers that NemoClaw supports and how inference routing works.

Expand All @@ -105,7 +105,7 @@ Use these topics to learn more about NemoClaw and how to install and use it.
- Read [Architecture Overview](how-it-works) to understand how NemoClaw works.
- Read [Ecosystem](ecosystem) to understand how Hermes, OpenShell, and NemoClaw relate in the wider stack, and when to use NemoClaw versus OpenShell.
- Follow [Quickstart with Hermes](../get-started/quickstart) to install NemoClaw and run your first Hermes sandbox with `$$nemoclaw`.
- Read [AI Agent Docs](../resources/agent-skills) to let your AI coding assistant fetch NemoClaw Markdown docs.
- Read [Use NemoClaw Docs with Your Coding Agents](../resources/agent-skills) to let your AI coding assistant fetch NemoClaw Markdown docs.
- Review [Community Solutions](../resources/community-contributions) for community-driven blueprint examples, showcases, and integrations.
- Read [Choose an Inference Provider](../inference/learn-and-choose/choose-inference-provider) to check the inference providers that NemoClaw supports and how inference routing works.

Expand All @@ -115,7 +115,7 @@ Use these topics to learn more about NemoClaw and how to install and use it.
- Read [Architecture Overview](how-it-works) to understand how NemoClaw works.
- Read [Ecosystem](ecosystem) to understand how Deep Agents, OpenShell, and NemoClaw relate in the wider stack, and when to use NemoClaw versus OpenShell.
- Follow [Quickstart with Deep Agents](../get-started/quickstart) to install NemoClaw and run your first Deep Agents sandbox with `$$nemoclaw`.
- Read [AI Agent Docs](../resources/agent-skills) to let your AI coding assistant fetch NemoClaw Markdown docs.
- Read [Use NemoClaw Docs with Your Coding Agents](../resources/agent-skills) to let your AI coding assistant fetch NemoClaw Markdown docs.
- Review [Community Solutions](../resources/community-contributions) for community-driven blueprint examples, showcases, and integrations.
- Read [Choose an Inference Provider](../inference/learn-and-choose/choose-inference-provider) to check the inference providers that NemoClaw supports and how inference routing works.

Expand Down
6 changes: 3 additions & 3 deletions docs/about/release-notes.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,7 @@ NemoClaw v0.0.78 adds opt-in thread-scoped auto-approval and policy-routed repos
For more information, refer to [Deploy to a Remote GPU Host](/user-guide/openclaw/deployment/deploy-to-remote-gpu), [NemoClaw Quickstart with Hermes](/user-guide/hermes/get-started/quickstart), [Choose Messaging Channels](/user-guide/openclaw/manage-sandboxes/messaging-channels/choose-messaging-channels), and [NemoClaw CLI Commands Reference](../reference/commands).
- Starter prompts now bind the local credential form to an authenticated one-shot helper with immutable commit and SHA-256 pins, explicit isolated or account-home execution profiles, denial of ambient process-control variables, and a preview, edit, and confirm flow.
This keeps credential collection behind verified helper and approved-command boundaries.
For more information, refer to [NemoClaw Quickstart with OpenClaw](/user-guide/openclaw/get-started/quickstart) and [Use NemoClaw Agent Prompts, Docs MCP Server, and Skills with Your AI Coding Agent](../resources/agent-skills).
For more information, refer to [NemoClaw Quickstart with OpenClaw](/user-guide/openclaw/get-started/quickstart) and [Use NemoClaw Docs with Your Coding Agents](../resources/agent-skills).

## v0.0.77

Expand All @@ -218,7 +218,7 @@ NemoClaw v0.0.77 hardens LangChain Deep Agents Code packaging, tracing, and guid
For more information, refer to [Quickstart with LangChain Deep Agents Code](/user-guide/deepagents/get-started/quickstart), [Credential Storage](../security/credential-storage), and [Security Best Practices](../security/best-practices).
- Starter prompts now reuse a checked-in local credential form with loopback-only submission, a restrictive content security policy, redacted confirmation output, and no external resources.
This gives coding agents one reviewed credential-capture path instead of asking them to generate credential forms or collect secrets in chat.
For more information, refer to [NemoClaw Quickstart with OpenClaw](../get-started/quickstart) and [Use NemoClaw Agent Prompts, Docs MCP Server, and Skills with Your AI Coding Agent](../resources/agent-skills).
For more information, refer to [NemoClaw Quickstart with OpenClaw](../get-started/quickstart) and [Use NemoClaw Docs with Your Coding Agents](../resources/agent-skills).

## v0.0.76

Expand Down Expand Up @@ -450,7 +450,7 @@ NemoClaw v0.0.67 improves onboarding recovery, messaging reliability, OpenClaw a
For more information, refer to [Choose Messaging Channels](/user-guide/openclaw/manage-sandboxes/messaging-channels/choose-messaging-channels).
- AI-agent documentation now uses one compact routing skill instead of generated page-copy skills.
The `nemoclaw-user-guide` skill points agents to the docs MCP server, `llms.txt`, and canonical Markdown routes so the docs site remains the source of truth.
For more information, refer to [Use NemoClaw Agent Prompts, Docs MCP Server, and Skills with Your AI Coding Agent](../resources/agent-skills).
For more information, refer to [Use NemoClaw Docs with Your Coding Agents](../resources/agent-skills).

## v0.0.66

Expand Down
2 changes: 1 addition & 1 deletion docs/get-started/prerequisites.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -101,4 +101,4 @@ The table comes from [`ci/platform-matrix.json`](https://github.com/NVIDIA/NemoC

- Use [Prepare Windows for NemoClaw](prerequisites/windows-preparation) if you are using Windows.
- [Quickstart](quickstart) installs NemoClaw and launches your first sandboxed agent.
- [AI Agent Docs](../resources/agent-skills) lets your AI coding assistant fetch NemoClaw Markdown docs before setup.
- [Use NemoClaw Docs with Your Coding Agents](../resources/agent-skills) lets your AI coding assistant fetch NemoClaw Markdown docs before setup.
15 changes: 5 additions & 10 deletions docs/get-started/quickstart-hermes.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,25 +11,20 @@ content:
skill:
priority: 20
---
import { StarterPromptFallback } from "../_components/StarterPrompt";
import { StarterPromptButton } from "../_components/StarterPromptButton";

Create a sandboxed Hermes agent, then chat with it from the dashboard or terminal.
The `nemohermes` command is the NemoClaw CLI with Hermes pre-selected.

## Set Up with a Coding Agent
## Set Up with the Starter Prompt on Your Coding Agent

Copy this starter prompt into Cursor, Claude Code, Codex, Copilot, or another local coding agent when you want it to guide the installation.
The prompt points the agent to [AI Agent Docs](../resources/agent-skills), this quickstart, the Markdown docs, and the optional `nemoclaw-user-guide` skill.
The prompt points the agent to [Use NemoClaw Docs with Your Coding Agents](../resources/agent-skills), this quickstart, the Markdown docs, and the optional `nemoclaw-user-guide` skill.
It asks the agent to confirm Hermes before it runs commands that create a sandbox or receive credentials and to use the checked-in local credential helper and form only after you approve the exact command that receives credentials.

<StarterPromptButton />

<StarterPromptFallback />
<Markdown src="/../docs/_build/StarterPrompt.generated.mdx" />

If you prefer to control setup directly, use the interactive installer in [Create Your First Sandboxed Agent](#create-your-first-sandboxed-agent).
If you prefer to control setup directly, use [Set Up with the Interactive Installer on Your Terminal](#set-up-with-the-interactive-installer-on-your-terminal).

## Create Your First Sandboxed Agent
## Set Up with the Interactive Installer on Your Terminal

If you use the coding-agent prompt in the preceding section, you can skip this procedure or keep it as reference.
The prompt directs your coding agent to this quickstart, so it has the full setup context.
Expand Down
Loading
Loading