Skip to content
Open
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
19 changes: 18 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,22 @@ It installs the [NVIDIA OpenShell](https://github.com/NVIDIA/OpenShell) runtime,

NemoClaw adds guided onboarding, a hardened blueprint, state management, OpenShell-managed channel messaging, routed inference, and layered protection on top of the [NVIDIA OpenShell](https://github.com/NVIDIA/OpenShell) runtime. For the full feature list, refer to [Overview](https://docs.nvidia.com/nemoclaw/latest/about/overview.html). For the system diagram, component model, and blueprint lifecycle, refer to [How It Works](https://docs.nvidia.com/nemoclaw/latest/about/how-it-works.html) and [Architecture](https://docs.nvidia.com/nemoclaw/latest/reference/architecture.html).

## Get Involved

NemoClaw is early alpha software, and feedback from users and contributors helps shape the project.
Use the links below to pick the right channel:

| Need | Where to go |
|------|-------------|
| Ask setup or usage questions | [GitHub Discussions](https://github.com/NVIDIA/NemoClaw/discussions) or [Discord](https://discord.gg/XFpfPv9Uvx) |
| Report a reproducible bug | [GitHub Issues](https://github.com/NVIDIA/NemoClaw/issues) |
| Propose a feature or larger design change | [GitHub Discussions](https://github.com/NVIDIA/NemoClaw/discussions) first, then open an issue when the scope is clear |
| Start contributing | [CONTRIBUTING.md](CONTRIBUTING.md), especially issues labeled [`good first issue`](https://github.com/NVIDIA/NemoClaw/issues?q=is%3Aissue%20is%3Aopen%20label%3A%22good%20first%20issue%22) |
| Follow current priorities | [Open milestones](https://github.com/NVIDIA/NemoClaw/milestones) and labeled issues |
| Report a vulnerability | [SECURITY.md](SECURITY.md), not public issues |

Please also review the [Code of Conduct](CODE_OF_CONDUCT.md) before participating.

## Getting Started

Follow these steps to install NemoClaw and run your first sandboxed OpenClaw agent.
Expand Down Expand Up @@ -282,7 +298,8 @@ NemoClaw/

## Community

Join the NemoClaw community to ask questions, share feedback, and report issues.
Join the NemoClaw community to ask questions and share feedback.
For bugs, feature proposals, contribution guidance, roadmap pointers, and security reporting, use the channel matrix in [Get Involved](#get-involved).

- [Discord](https://discord.gg/XFpfPv9Uvx)
- [GitHub Discussions](https://github.com/NVIDIA/NemoClaw/discussions)
Expand Down
35 changes: 35 additions & 0 deletions test/readme-community-links.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
// SPDX-License-Identifier: Apache-2.0

import fs from "node:fs";
import path from "node:path";
import { fileURLToPath } from "node:url";
import { describe, expect, it } from "vitest";

const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
const repoRoot = path.resolve(__dirname, "..");
const readme = fs.readFileSync(path.join(repoRoot, "README.md"), "utf8");

describe("README community front door", () => {
it("surfaces contribution, community, roadmap, and security paths near the top", () => {
const getInvolvedIndex = readme.indexOf("## Get Involved");
const gettingStartedIndex = readme.indexOf("## Getting Started");

expect(getInvolvedIndex).toBeGreaterThan(0);
expect(getInvolvedIndex).toBeLessThan(gettingStartedIndex);

for (const required of [
"[GitHub Discussions](https://github.com/NVIDIA/NemoClaw/discussions)",
"[Discord](https://discord.gg/XFpfPv9Uvx)",
"[GitHub Issues](https://github.com/NVIDIA/NemoClaw/issues)",
"[CONTRIBUTING.md](CONTRIBUTING.md)",
"[`good first issue`](https://github.com/NVIDIA/NemoClaw/issues?q=is%3Aissue%20is%3Aopen%20label%3A%22good%20first%20issue%22)",
"[Open milestones](https://github.com/NVIDIA/NemoClaw/milestones)",
"[SECURITY.md](SECURITY.md), not public issues",
"[Code of Conduct](CODE_OF_CONDUCT.md)",
]) {
expect(readme.slice(getInvolvedIndex, gettingStartedIndex)).toContain(required);
}
});
});
Loading