Skip to content

docs: rename TuyaOpenClaw to TClaw - #258

Merged
adwuard merged 2 commits into
Tuya-Community:masterfrom
maidang-xing:rename/tclaw
Aug 30, 2026
Merged

adwuard merged 2 commits into
Tuya-Community:masterfrom
maidang-xing:rename/tclaw

Conversation

@maidang-xing

Copy link
Copy Markdown
Contributor

Renames the Agent product from TuyaOpenClaw to TClaw across docs, page
content, navigation data, sidebars, i18n translation keys and links.

Companion to tuya/TClaw#48.

Also moves the legacy slug layer

The routes were still published under the even older duckyclaw brand, so
this moves them onto the new name in the same pass:

  • docs/duckyclaw/ → docs/tclaw/ (and the zh i18n mirror)
  • src/pages/duckyclaw.{js,module.css} → src/pages/tclaw.{js,module.css}
  • duckyclawSidebar → tclawSidebar; CSS module .duckyclawTheme → .tclawTheme
  • routes /duckyclaw → /tclaw, /docs/duckyclaw/* → /docs/tclaw/*

i18n keys are derived from the sidebar id and from label text, so
sidebar.duckyclawSidebar.* (current.json) and
link.item.label.TuyaOpenClaw 🦞 (footer.json / navbar.json) moved with
them — otherwise the whole subtree would have silently reverted to English.

No URL is lost

Added to the existing createRedirects moves map in docusaurus.config.js:

['/docs/tclaw/', '/docs/duckyclaw/'],
['/tclaw', '/duckyclaw'],

The build emits all 16 redirect stubs — /duckyclaw, /zh/duckyclaw, and
7 + 7 /docs/duckyclaw/X for both locales — each with a canonical pointing
at its /docs/tclaw/X replacement.

Verification

Diffed the generated site against a full build of the pre-rename commit:

pages before 804
pages after 820
pages present in both 788
of those, byte-identical once the rename and Docusaurus content hashes are normalized 788 / 788
old pages removed 16 (the /duckyclaw set)
new pages added 16 /tclaw pages + 16 /duckyclaw redirect stubs

So nothing outside the renamed section changed, and every old URL still
resolves. pnpm build passes for both locales.

Also verified statically (the site sets onBrokenLinks: 'warn', so the build
alone does not gate this): every doc id in tclawSidebar resolves in both
locales, sidebarId matches the export, zero orphaned i18n keys introduced,
zero broken links among the renamed docs, and all 88 styles.* referenced in
tclaw.js exist in tclaw.module.css.

Deliberately left alone

CamelCase DuckyClaw / Ducky brand wording, the DuckyClaw-*.md and
ducky-quick-start-*.md filenames, DUCKYCLAW_DEVICE_ID / "duckyclaw-001"
in code samples, github.com/tuya/DuckyClaw links, and the
duckyclaw-smart-car tutorial id. The old duckyclaw SEO keyword is kept
alongside the new tclaw one.

Note i18n/zh/.../projects/duckyclaw.md is intentionally not renamed — it
has no English source doc so nothing consumes the translation, and its content
is about VerdureLab rather than TClaw.

One pre-existing bug left for a separate PR

.cursor/skills/tuyaopen-docs-author/SKILL.md says the repo exports "four
sidebars" and its copy-paste i18n audit snippet uses a 4-element Set. The
repo actually exports five, so that command silently skips tyutoolSidebar —
which is exactly where the only two untranslated sidebar labels live. Out of
scope here.

🤖 Generated with Claude Code

maidang-xing and others added 2 commits August 28, 2026 16:12
Rename the Agent product from TuyaOpenClaw to TClaw across docs, page
content, navigation data, sidebars, i18n translation keys and links.

Also move the legacy DuckyClaw-era slugs onto the new brand, since the
routes were still published under the old name:

- docs/duckyclaw/ -> docs/tclaw/ (and the zh i18n mirror)
- src/pages/duckyclaw.{js,module.css} -> src/pages/tclaw.{js,module.css}
- duckyclawSidebar -> tclawSidebar, .duckyclawTheme -> .tclawTheme
- /duckyclaw and /docs/duckyclaw/* routes -> /tclaw, /docs/tclaw/*

Old URLs keep working: added ['/docs/tclaw/', '/docs/duckyclaw/'] and
['/tclaw', '/duckyclaw'] to the client-redirects `moves` map, which
generates redirect pages for both locales.

DuckyClaw / Ducky mascot wording, the DUCKYCLAW_DEVICE_ID code sample,
the duckyclaw-001 device id, the duckyclaw-smart-car tutorial id and
the DuckyClaw-*.md filenames are intentionally left untouched. The old
`duckyclaw` SEO keyword is kept alongside the new `tclaw` one.

Verified with `pnpm build` (en + zh, exit 0) and by confirming the
generated /docs/duckyclaw/* redirect pages point at /docs/tclaw/*.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Follow-up from a review pass over the rename commit:

- static/llms.txt, .cursor/skills/tuyaopen-doc-planner/{SKILL.md,
  directory-map.md}: these three lines were left half-renamed — the
  path/URL moved to tclaw but the entity label still said DuckyClaw,
  so each line contradicted itself. Labels now say TClaw.
- i18n/zh/.../projects/duckyclaw.md: revert this file's rename. It has
  no English source doc, so nothing picks the translation up, and its
  content is about VerdureLab rather than TClaw — renaming it to
  tclaw.md mislabeled an unrelated dead file.

No functional change. Verified by diffing the generated site against a
build of the pre-rename commit: of 788 pages present in both, all 788
are byte-identical once the rename and Docusaurus' content hashes are
normalized. The 16 old /duckyclaw pages are replaced by 16 /tclaw pages
plus 16 redirect stubs, so no URL is lost. `pnpm build` passes (en+zh).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@adwuard
adwuard merged commit d887153 into Tuya-Community:master Aug 30, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants