diff --git a/docs/about/overview.mdx b/docs/about/overview.mdx
index 689849cde16..6f3470ba29b 100644
--- a/docs/about/overview.mdx
+++ b/docs/about/overview.mdx
@@ -84,7 +84,7 @@ Navigate to the following topics to learn more about NemoClaw and how to install
- [Architecture Overview](how-it-works) to understand how NemoClaw works.
- [Ecosystem](ecosystem) to understand how Hermes, OpenShell, and NemoClaw relate in the wider stack, and when to use NemoClaw versus OpenShell.
-- [Quickstart with Hermes](../get-started/quickstart) to install NemoClaw and run your first Hermes sandbox with `$$nemoclaw`.
+- [Quickstart with Hermes](../get-started/quickstart-hermes) to install NemoClaw and run your first Hermes sandbox with `$$nemoclaw`.
- [Agent Skills](../resources/agent-skills) to load NemoClaw guidance into an AI coding assistant.
- [NemoClaw Community](https://github.com/NVIDIA/nemoclaw-community) to explore community-driven blueprint examples, showcases, and integrations.
- [Inference Options](../inference/inference-options) to check the inference providers that NemoClaw supports and how inference routing works.
diff --git a/docs/get-started/prerequisites.mdx b/docs/get-started/prerequisites.mdx
index d5fd11b62c0..046510e1938 100644
--- a/docs/get-started/prerequisites.mdx
+++ b/docs/get-started/prerequisites.mdx
@@ -84,6 +84,6 @@ The table comes from [`ci/platform-matrix.json`](https://github.com/NVIDIA/NemoC
## Next Steps
-- [Prepare Windows for NemoClaw](prerequisites/windows-preparation) if you are using Windows.
+- [Prepare Windows for NemoClaw](windows-preparation) if you are using Windows.
- [Quickstart](quickstart) to install NemoClaw and launch your first sandboxed agent.
- [Agent Skills](../resources/agent-skills) to load NemoClaw guidance into an AI coding assistant before setup.
diff --git a/docs/reference/troubleshooting.mdx b/docs/reference/troubleshooting.mdx
index 6c5f9004536..4f378b71513 100644
--- a/docs/reference/troubleshooting.mdx
+++ b/docs/reference/troubleshooting.mdx
@@ -1424,7 +1424,7 @@ If you run other services on Spark that expect port 3000, bind them to a differe
## Windows Subsystem for Linux
-For environment setup steps, see [Windows Prerequisites](../get-started/prerequisites/windows-preparation).
+For environment setup steps, see [Windows Prerequisites](../get-started/windows-preparation).
### `wsl --install --no-distribution` returns Forbidden (403)
@@ -1500,12 +1500,12 @@ sudo systemctl stop ollama
OLLAMA_CONTEXT_LENGTH=16384 ollama serve
```
-For additional troubleshooting, see the [Windows Setup](../get-started/prerequisites/windows-preparation) page.
+For additional troubleshooting, see the [Windows Setup](../get-started/windows-preparation) page.
For first-time OpenClaw setup, see the [Quickstart](../get-started/quickstart).
-For first-time Hermes setup, see [Quickstart with Hermes](../get-started/quickstart).
+For first-time Hermes setup, see [Quickstart with Hermes](../get-started/quickstart-hermes).
## Podman
@@ -1602,7 +1602,7 @@ After the rebuild completes, return to the Skills page to confirm the skill is r
## Hermes
The issues below are common problems you may encounter when running Hermes through `nemohermes`.
-For setup, refer to [Quickstart with Hermes](../../hermes/get-started/quickstart).
+For setup, refer to [Quickstart with Hermes](../get-started/quickstart-hermes).
### Port 8642 in a browser shows a blank page or `Cannot GET /`
@@ -1704,7 +1704,7 @@ Reset a specific provider's credentials with `nemohermes credentials reset
+ fs.readFileSync(path.join(REPO_ROOT, "docs", ...rel), "utf-8");
+
+describe("docs internal-link targets resolve to real source files (#5076)", () => {
+ it("troubleshooting.mdx links Windows Prerequisites by its real file path", () => {
+ const text = read("reference", "troubleshooting.mdx");
+ expect(text).not.toMatch(/get-started\/prerequisites\/windows-preparation/);
+ expect(text).toMatch(/\]\(\.\.\/get-started\/windows-preparation\)/);
+ });
+
+ it("troubleshooting.mdx links the Hermes Quickstart by its real file path", () => {
+ const text = read("reference", "troubleshooting.mdx");
+ // Neither the out-of-tree path nor the OpenClaw quickstart (wrong target).
+ expect(text).not.toMatch(/\.\.\/\.\.\/hermes\/get-started\/quickstart/);
+ expect(text).not.toMatch(
+ /\[Quickstart with Hermes\]\(\.\.\/get-started\/quickstart\)/,
+ );
+ expect(text).toMatch(/\]\(\.\.\/get-started\/quickstart-hermes\)/);
+ // The OpenClaw quickstart link is correct and must stay put.
+ expect(text).toMatch(/\[Quickstart\]\(\.\.\/get-started\/quickstart\)/);
+ });
+
+ it("prerequisites.mdx links Windows Prerequisites by its real file path", () => {
+ const text = read("get-started", "prerequisites.mdx");
+ expect(text).not.toMatch(/\]\(prerequisites\/windows-preparation\)/);
+ expect(text).toMatch(/\]\(windows-preparation\)/);
+ });
+
+ it("overview.mdx points the Hermes Quickstart link at the Hermes page", () => {
+ const text = read("about", "overview.mdx");
+ expect(text).toMatch(
+ /\[Quickstart with Hermes\]\(\.\.\/get-started\/quickstart-hermes\)/,
+ );
+ expect(text).not.toMatch(
+ /\[Quickstart with Hermes\]\(\.\.\/get-started\/quickstart\)/,
+ );
+ // The OpenClaw quickstart link is correct and must stay put.
+ expect(text).toMatch(
+ /\[Quickstart with OpenClaw\]\(\.\.\/get-started\/quickstart\)/,
+ );
+ });
+});