貢獻 NemoClaw 文件
本指南說明如何撰寫、編輯和審查 NemoClaw 的文件。如果你更改了會影響使用者行為的程式碼,請在同一個 PR 中更新相關文件。
善用 Agent 技能
如果你使用 AI 程式碼助手(Cursor、Claude Code、Codex 等),儲存庫中包含可自動化文件工作的技能。在從頭撰寫之前先試試它們。
| 技能 | 功能 | 適用時機 |
|---|---|---|
update-docs | 掃描近期 commit 中影響使用者的變更,草擬文件更新。 | 功能上線後、發版前、或需要找出文件缺漏時。 |
技能存放在 .agents/skills/,會自動遵循下方的風格指南。使用時,請要求你的助手執行它。例如,請它「把 v0.2.0 之後合併的所有內容同步到文件」。
何時更新文件
當你的變更符合以下情況時,請更新文件:
- 新增、移除或重新命名了 CLI 指令或旗標。
- 改變了預設行為或設定。
- 新增了使用者會互動的功能。
- 修正了文件中描述不正確的錯誤。
- 更動了 API、協定或政策結構。
在本機建構文件
建構文件並檢查輸出,確認文件正確無誤。
建構文件的指令:
make docs
在本機提供文件服務並在變更時自動重新建構:
make docs-live
撰寫慣例
格式
- 文件使用 MyST Markdown,這是一種與 Sphinx 相容的 CommonMark 超集。
- 每個頁面以 YAML frontmatter 開頭(title、description、topics、tags、content type)。
- 在 frontmatter 之後加入 SPDX 授權標頭。
Frontmatter 範本
---
title:
page: "NemoClaw 頁面標題 — 附帶情境的副標題"
nav: "簡短導覽標題"
description: "頁面的一句話摘要。"
keywords: ["主要關鍵字", "次要關鍵字片語"]
topics: ["generative_ai", "ai_agents"]
tags: ["openclaw", "openshell", "relevant", "tags"]
content:
type: concept | how_to | get_started | tutorial | reference
difficulty: technical_beginner | technical_intermediate | technical_advanced
audience: ["developer", "engineer"]
status: published
---
頁面結構
- H1 標題與
title.page值一致。 - 一到兩句介紹,說明該頁面涵蓋的內容。
- 以 H2 和 H3 按任務或概念組織各節。每節以一句導言開頭,引導讀者進入主題。
- 底部放一個「後續步驟」區塊,連結到相關頁面。
風格指南
寫作方式就像在跟同事解釋事情一樣。直接、具體、簡潔。
語氣與風格
- 使用主動語態。「CLI 建立了一個 gateway」,而不是「一個 gateway 被 CLI 建立了」。
- 用第二人稱(「你」)稱呼讀者。
- 使用現在式。「指令回傳錯誤」,而不是「指令將會回傳錯誤」。
- 陳述事實。不要用「只需」、「輕鬆地」、「當然」等模稜兩可的修飾語。
應避免的模式
以下模式在 LLM 生成的文字中很常見,會削弱技術讀者的信任。審查時請移除它們。
| 模式 | 問題 | 修正 |
|---|---|---|
| 不必要的粗體 | 在一般指示上寫「這是一個關鍵步驟」。 | 粗體保留給 UI 標籤、參數名稱和真正的警告。 |
| 到處都是破折號 | 「gateway——它跑在 Docker 裡——建立沙箱。」 | 用逗號或拆成兩句。破折號偶爾用可以,但不要每段都出現好幾次。 |
| 浮誇形容 | 「OpenShell 提供了強大、穩健、無縫的體驗。」 | 說它做了什麼,而不是它有多厲害。 |
| 虛詞填充 | 「只需執行指令」或「你可以輕鬆設定……」 | 拿掉那個副詞。「執行指令。」 |
| 正文中的 emoji | 「來開始吧!」 | 文件正文中不放 emoji。 |
| 修辭性提問 | 「想保護你的代理嗎?看這裡就對了!」 | 直接陳述目的。 |
格式規則
- 每句話以句號結尾。
- 原始檔中一句話一行(讓 diff 更好讀)。
- 對 CLI 指令、檔案路徑、旗標、參數名稱和值使用
code格式。 - 程式碼區塊用
console語言標示 CLI 範例。指令前加$:$ nemoclaw onboard - 用表格呈現結構化比較。表格保持簡單(不要嵌套格式)。
- 用 blockquote 警告語(
> **注意:**、> **警告:**)做 callout,不要用粗體。 - 避免巢狀警告語。
- 不要為章節標題編號。寫「部署 Gateway」而不是「第 1 節:部署 Gateway」或「步驟 3:驗證。」
- 標題中不要用冒號。寫「部署與管理 Gateway」而不是「Gateway:部署與管理」。
- 冒號僅用於引導清單。不要把冒號當作子句之間的通用標點。
用語表
請統一使用以下用語:
| 使用 | 不要使用 |
|---|---|
| gateway | Gateway(句首除外) |
| sandbox | Sandbox(句首除外) |
| CLI | cli、Cli |
| API key | api key、API Key |
| NVIDIA | Nvidia、nvidia |
| NemoClaw | nemoclaw(正文中)、Nemoclaw |
| OpenClaw | openclaw(正文中)、Openclaw |
| OpenShell | Open Shell、openShell、Openshell、openshell |
| mTLS | MTLS、mtls |
| YAML | yaml、Yaml |
提交文件變更
- 按照專案慣例建立分支。
- 進行變更。
- 用
make docs在本機建構並驗證輸出。 - 以
docs:作為 conventional commit 類型開啟 PR。
docs: update quickstart for new onboard wizard
如果文件變更伴隨程式碼變更,請放在同一個 PR 中,並使用程式碼變更的 commit 類型:
feat(cli): add policy-add command
審查文件 PR
審查文件時:
- 檢查是否遵循上述風格指南。
- 注意 LLM 生成模式(過多粗體、破折號、填充語)。
- 驗證程式碼範例是否正確且可執行。
- 確認交叉引用和連結沒有失效。
- 在本機建構檢查呈現效果。