Own docs authoring, published links, docs i18n policy.
- Author
/clawhub/**in openclaw/clawhub, never here.scripts/docs-sync-publish.mjsreplaces publishdocs/clawhub/tree. Link audits accept routes declared indocs/docs.jsonwithout checkout; undeclared routes fail. - OpenClaw-specific skill/plugin installation, update, verification, removal, release-trust guidance stays here (
docs/cli/skills.md,docs/cli/plugins.md). Standalone ClawHub CLI/publishing reference → upstream. - Plain
pnpm docs:check-linksskips ClawHub fragments. Usepnpm docs:check-links:anchors+OPENCLAW_DOCS_SYNC_CLAWHUB_REPOset to source checkout; otherwise declared-route fragments unverified. - Approved release-doc changes: regenerate complete marked
CHANGELOG/<version>.mdmirror viapnpm changelog:from-docs; preserve ordered sources + frozenCHANGELOG/records/<version>.md. Usepnpm changelog:check; untouched history not converted. Generation/post-release publication: readopenclaw-changelog-updateskill. - Never generically format generated
CHANGELOG/**or root changelog; exact migrated/mirrored bytes generator-owned.
- Uncommitted English content in current website UI:
pnpm docs:dev -- --page <route>; repeat--pageup to 30 pages. Re-run after edits. - Clone
openclaw/docsas../openclaw-docsbeside main checkout; runnpm cithere. Override:--site-repo <path>orOPENCLAW_DOCS_SITE_REPO. - Preview writes only ignored
.cache/docs-preview/; no sync/translate/publish. Build-only/port options:pnpm docs:dev --help. Serving needs Python 3. - Website styling/renderer →
openclaw/docs; content, navigation, redirects, shared publishing parser → here.
openclaw/docspublisheshttps://docs.openclaw.ai; owns design/UI.- Internal
docs/**/*.mdlinks: root-relative, no.md/.mdx, including section anchors:[Hooks](/gateway/config-hooks#hooks). - Heading IDs:
scripts/lib/docs-markdown.mjs; verify viapnpm docs:check-links:anchors. Preserve published IDs + named anchors; compatibility aliases never replace existing targets. Heading wording may change →<a id="stable-section-name" />. - README/other GitHub-rendered docs: absolute docs URLs.
- Public docs generic: no personal devices, hostnames, local paths. Placeholders:
user@gateway-host,~/path/to/skills. - Follow Secret Placeholder Conventions; credential examples obviously fake.
- Runtime-floor changes in
node-version.mjs,package.jsonengines,src/infra/runtime-guard.ts(Bun), orsrc/infra/sqlite-runtime-version.ts: update supported-version/history tables indocs/install/node-compatibility.md+docs/install/bun-compatibility.md. - Alphabetize services/providers in docs, UI copy, pickers, except explicit runtime/auto-detection order. Follow root
AGENTS.mdplugin terminology. - CI schema-checks JSON/JSON5 fences resembling whole
openclaw.jsonfiles (pnpm docs:check-config-examples). Deliberately partial/legacy fences:validate=false. - Never hand-edit
docs/plugins/reference/**,docs/plugins/reference.md,docs/plugins/plugin-inventory.md; runpnpm plugins:inventory:gen.docs/maturity/**: see below. - Only source stub in
docs/docs_map.md; publishing/packaging generate expanded map frompnpm docs:list --headings. Never commit heading mirror.
- Long-lived private operator docs → private operator repo. Local scratch/mirrors may use ignored
docs/internal/; never link from public docs or include indocs/docs.json. scripts/docs-sync-publish.mjsexcludes/prunesdocs/internal/**+ rootdocs/AGENTS.md/docs/CLAUDE.md; translation finalization removes locale copies of instruction files. Publicdocs/reference/templates/**remain published.- Internal docs may name repo paths, private apps, 1Password items, runbooks; never secret values.
- Edit
taxonomy.yaml+qa/maturity-scores.yaml, never generated score, LTS, taxonomy, QA-profile, evidence tables indocs/maturity/. - Generation owner:
scripts/qa/render-maturity-docs.ts; refresh:pnpm maturity:render; verify:pnpm maturity:check. .github/workflows/maturity-scorecard.ymlrenders previews/can open generated-doc PRs;.github/workflows/openclaw-release-checks.ymldispatches it for release QA.- Deterministic
qa-evidence.json.scorecardstays in Actions artifacts unless maintainer requests sanitized committed projection. Human overrides: source-state PR with reasons + public/redacted evidence.
- English docs/glossary here authoritative (ClawHub: Source Ownership). Never add/edit
docs/<locale>/**here; generated translations +docs/.i18n/*.tm.jsonl→openclaw/docs. - Before publish-repo sync/
scripts/docs-i18n: update English + glossary here. Before rerunning translation: entries for new technical terms, page titles, short nav labels, terms requiring fixed translation/English spelling. - Changed English titles/short internal labels:
pnpm docs:check-i18n-glossary. Pipeline: readdocs/.i18n/README.md.