Mirror repo for the published OpenClaw docs site.
Source of truth lives in openclaw/openclaw, under docs/.
- English docs are authored in
openclaw/openclaw. openclaw/openclaw/.github/workflows/docs-sync-publish.ymlmirrors the docs tree into this repo.- This repo stores the published docs tree plus generated locale output.
openclaw/docs/.github/workflows/translate-*.ymlruns on push, schedule, release dispatch, and manual dispatch to refresh locale docs..github/workflows/pages.ymlbuildsdist/docs-sitefrom the mirrored docs and deploys it to GitHub Pages.
- Locale pages under
docs/<locale>/**are generated output. - Each translated page stores
x-i18n.source_hash. - The translate workflow computes a pending file list before calling the model.
- If no English source hashes changed, the workflow skips the expensive translation step entirely.
- If files changed, only the pending files are translated.
- The workflow retries transient model-format failures.
- Do not treat this repo as the primary place for English doc edits.
- Make English doc changes in
openclaw/openclaw, then let sync copy them here. - Locale pages under
docs/<locale>/**are generated output. .openclaw-sync/source.jsonrecords whichopenclaw/openclawcommit this mirror was synced from.
npm run docs:buildrenders the mirrored Mintlify-flavored docs intodist/docs-site.npm run docs:smokechecks representative English and locale pages plus the Pagefind search bundle.npm run docs:checkruns both steps.- The generated site includes the language picker and static full-text search via Pagefind.
OPENCLAW_DOCS_SYNC_TOKENlives inopenclaw/openclawand lets the source repo push into this repo.OPENCLAW_DOCS_I18N_OPENAI_API_KEYlives in this repo and powers locale translation refreshes.