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-all.ymldebounces docs changes, runs locale translation in parallel, and commits one aggregate locale refresh..github/workflows/pages.ymlbuildsdist/docs-sitefrom the mirrored docs and deploys the current production fallback to Cloudflare Workers Static Assets..github/workflows/r2-pages.ymlbuilds the full unpruned R2 artifact for the target Cloudflare CDN design.
- 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.
- Locale outputs are uploaded as artifacts first, then committed together by the finalizer.
- The weekly scheduled run uses full reconciliation mode to repair missed or flaky locale updates.
- 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:build:cloudflareprunes deploy-only duplicates so the Worker asset manifest stays below Cloudflare Free's 20,000-file limit.npm run docs:build:r2renders the full unpruned site and preparesdist/docs-r2-manifest.jsonfor R2 upload.npm run docs:r2:uploaduploads only changed R2 objects by comparing against the remote manifest.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.
- Cloudflare deploys
workers/docs-router.ts, which serves slashless page URLs and English markdown responses for.mdpaths orAccept: text/markdown. - Cloudflare hosting details and limitations are documented in
CLOUDFLARE.md.
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.CLOUDFLARE_API_TOKENlives in this repo and deploysdocumentation.openclaw.ai.- The R2 deploy path needs the same GitHub secret to include
Account: R2 Storage: Editfor the Services@openclaw.org account before it can become production.