Skip to content

docs(i18n): expand language support hubs across docs entry points#2934

Merged
theonlyhennygod merged 1 commit intomasterfrom
chore/i18n-expand-discord-language-set-20260306
Mar 20, 2026
Merged

docs(i18n): expand language support hubs across docs entry points#2934
theonlyhennygod merged 1 commit intomasterfrom
chore/i18n-expand-discord-language-set-20260306

Conversation

@theonlyhennygod
Copy link
Copy Markdown
Collaborator

@theonlyhennygod theonlyhennygod commented Mar 6, 2026

Summary

  • add new locale hubs and summaries for Korean (ko), Tagalog (tl), German (de), Arabic (ar), Hindi (hi), and Bengali (bn)
  • expand root/docs language navigation so all requested international channels are directly discoverable
  • update i18n index and coverage metadata to reflect current hub-level support status

Scope

  • docs navigation surfaces: README.md, docs/README.md, docs/SUMMARY.md, docs/i18n/README.md
  • coverage metadata: docs/i18n-coverage.md
  • new locale files: docs/i18n/{ko,tl,de,ar,hi,bn}/{README.md,SUMMARY.md}

Why

The community language set was expanded and needed canonical locale entry points for all listed international channels.

Validation

  • verified new locale hub files exist for all six new locales
  • verified language navigation links resolve from root/docs entry pages
  • docs-only change; no runtime code paths modified

Risk

Low (documentation and localization topology only).

Rollback

Revert this PR commit to restore previous locale topology and language navigation.

Summary by CodeRabbit

  • Documentation

    • Expanded multilingual support with new language documentation hubs (Korean, Tagalog, Spanish, Portuguese, Italian, German, Arabic, Hindi, Bengali)
    • Reorganized documentation structure with improved navigation and clearer entry points
    • Renamed "Quick Start" section to "Getting Started"
  • Chores

    • Updated social media links in the header
    • Enhanced language coverage tracking documentation

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 6, 2026

Note

.coderabbit.yaml has unrecognized properties

CodeRabbit is using all valid settings from your configuration. Unrecognized properties (listed below) have been ignored and may indicate typos or deprecated fields that can be removed.

⚠️ Parsing warnings (1)
Validation error: Unrecognized key(s) in object: 'tools', 'path_filters', 'review_instructions'
⚙️ Configuration instructions
  • Please see the configuration documentation for more information.
  • You can also validate your configuration using the online YAML validator.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json
📝 Walkthrough

Walkthrough

This PR restructures repository documentation by reorganizing the main README to direct users to the docs hub instead of inline installation steps, and expands internationalization support by adding documentation hubs for nine new languages (Korean, Tagalog, Spanish, Portuguese, Italian, German, Arabic, Hindi, Bengali), each with localized README and SUMMARY files.

Changes

Cohort / File(s) Summary
Main Documentation Restructuring
README.md, docs/README.md, docs/SUMMARY.md, docs/i18n-coverage.md, docs/i18n/README.md
Refactored main README by renaming "Quick Start" to "Getting Started" and removing inline installation steps while adding references to docs structure; expanded language roster in index files to include new locales (Korean, Tagalog, Spanish, Portuguese, Italian, German, Arabic, Hindi, Bengali) with corresponding i18n links; updated i18n coverage tracking table and clarified parity scope documentation.
Korean Locale Hub
docs/i18n/ko/README.md, docs/i18n/ko/SUMMARY.md
Added new Korean documentation hub with README containing navigation links, coverage status, and language references; added corresponding SUMMARY entry point with synchronization metadata and operator reference links.
Tagalog Locale Hub
docs/i18n/tl/README.md, docs/i18n/tl/SUMMARY.md
Added new Tagalog documentation hub with README containing quick links, coverage status, and multilingual references; added corresponding SUMMARY file with entry points and operator reference documentation links.
German Locale Hub
docs/i18n/de/README.md, docs/i18n/de/SUMMARY.md
Added new German documentation hub with README containing locale status and navigation to German and English resources; added corresponding SUMMARY with entry points and comprehensive operator reference links.
Arabic Locale Hub
docs/i18n/ar/README.md, docs/i18n/ar/SUMMARY.md
Added new Arabic documentation hub with README providing quick links and coverage status; added SUMMARY entry point with synchronization date and operator reference links to English sources.
Hindi Locale Hub
docs/i18n/hi/README.md, docs/i18n/hi/SUMMARY.md
Added new Hindi documentation hub with README containing navigation links, coverage status, and cross-language references; added corresponding SUMMARY with entry point overview and English operator source links.
Bengali Locale Hub
docs/i18n/bn/README.md, docs/i18n/bn/SUMMARY.md
Added new Bengali documentation hub with README outlining locale support status and navigation links; added corresponding SUMMARY with entry points and operator reference documentation.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested labels

size: L, risk: low, docs, documentation

Suggested reviewers

  • chumyin
  • JordanTheJet
🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The PR description covers the key aspects including summary, scope, rationale, validation, and risk assessment, but omits several required template sections like Label Snapshot, Change Metadata, Linked Issue, and others. Complete the required sections from the template including Label Snapshot (risk/size/scope labels), Change Metadata (change type/primary scope), Linked Issue, and all other required sections marked in the template.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main change: expanding language support hubs across documentation entry points, which aligns with all file modifications in the PR.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch chore/i18n-expand-discord-language-set-20260306

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 8

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
docs/SUMMARY.md (1)

5-5: ⚠️ Potential issue | 🟡 Minor

Update the last refreshed timestamp.

The "Last refreshed" date is February 28, 2026, but this PR adds significant changes dated March 6, 2026. The timestamp should be updated to reflect the current changes.

📅 Proposed fix
-Last refreshed: **February 28, 2026**.
+Last refreshed: **March 6, 2026**.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/SUMMARY.md` at line 5, Update the "Last refreshed" timestamp string in
the docs by replacing the existing line "Last refreshed: **February 28, 2026**."
with the current date reflecting these changes (e.g., "Last refreshed: **March
6, 2026**."), ensuring the exact Markdown formatting and bold markup around the
date is preserved.
docs/i18n/README.md (1)

5-6: ⚠️ Potential issue | 🟡 Minor

Clarify parity status to distinguish core parity locales from hub-level support locales.

Lines 5-6 claim "all supported locales are 0-gap against docs/*.md baseline," but the coverage matrix in docs/i18n-coverage.md confirms this applies only to 6 core parity locales (zh-CN, ja, ru, fr, vi, el). The 9 newer locales (ko, tl, es, pt, it, de, ar, hi, bn) are at hub-level support with documentation translation in progress. Update lines 5-6 to reflect this distinction—for example: "Core parity locales (zh-CN/ja/ru/fr/vi/el) are 0-gap against docs/*.md baseline; newer hub-level support locales are in initial documentation phase."

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/i18n/README.md` around lines 5 - 6, Update the README statement that
currently claims "all supported locales are 0-gap against `docs/*.md` baseline"
to explicitly distinguish core parity locales from hub-level support locales:
change the sentence to indicate that core parity locales (zh-CN, ja, ru, fr, vi,
el) are 0-gap against `docs/*.md` baseline while the newer hub-level support
locales (ko, tl, es, pt, it, de, ar, hi, bn) are in initial
documentation/translation phase; reference the coverage matrix in
`docs/i18n-coverage.md` if needed to ensure the exact locale lists match.
♻️ Duplicate comments (1)
docs/i18n/ko/README.md (1)

20-35: ⚠️ Potential issue | 🔴 Critical

Same locale verification needed as Arabic hub.

The Korean hub references the same 9 new locales. The same file existence verification is required to prevent broken links.

See verification scripts in the Arabic README review.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/i18n/ko/README.md` around lines 20 - 35, Add the same file-existence
verification used for the Arabic hub to the Korean hub README: check each
referenced locale README link in the Korean README (the markdown list of locale
links) and fail/flag when a linked target does not exist or the relative path is
incorrect; implement this by reusing the Arabic README verification script or
its logic to validate the listed locale targets and integrate the check into the
existing verification step (CI/pre-commit) so broken links are reported and
fixed before merge.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/i18n-coverage.md`:
- Around line 27-38: Update the i18n coverage doc to match the new
bootstrap/hub-only model: in i18n-coverage.md update the "last refreshed"
metadata date, revise the checklist text that currently mandates "every new
locale must ship commands-reference.md, config-reference.md, and
troubleshooting.md" to reflect the new hub-only/bridge distinctions, and adjust
the table rows marked "Hub-level support (bootstrap)" so the coverage summary
and topology columns are consistent with the updated documentation structure;
ensure these metadata, checklist text, and the locale table rows are changed
together in this PR so the file remains the single source of truth.

In `@docs/i18n/ar/README.md`:
- Around line 20-35: The listed locale README files (docs/i18n/zh-CN/README.md,
docs/i18n/ja/README.md, docs/i18n/ru/README.md, docs/i18n/fr/README.md,
docs/i18n/vi/README.md, docs/i18n/el/README.md) are missing the Arabic hub link;
open each file, find the "Other Languages" or equivalent language list, and add
the line `- العربية: [../ar/README.md](../ar/README.md)` so the Arabic hub
(README.md in docs/i18n/ar) is referenced consistently across all supported
locales.

In `@docs/i18n/de/SUMMARY.md`:
- Around line 1-20: The German SUMMARY.md currently contains only English
operator references and lacks the standard locale sections; replace the English
content with a German-translated SUMMARY that matches the established locale
structure (include the "Getting Started", "Reference", "Operations", "Security",
"Hardware", and "Contributing" category hubs and the i18n index ../README.md and
i18n coverage map links), ensure the file title/header "ZeroClaw Docs Summary
(German)" and all link labels are in German, and expand navigation to cover the
full docs scope instead of only operator/runtime references; before making
changes, confirm whether German ("de") is intended to be an officially supported
locale (per i18n supported locales list) and if not, flag this PR for
locale-approval instead of merging.
- Around line 7-11: The "## Entry Points" section in docs/i18n/de/SUMMARY.md
violates locale parity; remove the entire "## Entry Points" heading and the
three bullet links (German docs hub, English docs hub, English unified summary)
from that file so the German SUMMARY no longer defines entry-point navigation,
or alternatively, if you intend to add German as an officially supported locale,
add it to the supported-locales lists in CLAUDE.md and AGENTS.md and then add
equivalent "Entry Points" sections to all other core locales' SUMMARY.md files
to maintain parity; locate the section by the literal heading "## Entry Points"
and the specific link targets [README.md], [../../README.md], [../../SUMMARY.md]
when making the change.
- Around line 13-20: The German SUMMARY.md contains an "Operator References
(English Source)" section linking to root English docs (e.g.,
../../commands-reference.md, ../../config-reference.md) which is inconsistent
with supported locales; either remove that entire "Operator References (English
Source)" section from docs/i18n/de/SUMMARY.md or replace each English link with
localized equivalents in docs/i18n/de/ (e.g., point to de/commands-reference.md,
de/config-reference.md, de/providers-reference.md, de/channels-reference.md,
de/operations-runbook.md, de/troubleshooting.md) and add the corresponding
localized files under docs/i18n/de/ if you intend to localize German.

In `@docs/README.md`:
- Line 7: The English docs-hub navigation change must be replicated across the
currently supported locale hub entry-points so the top-nav/language-switch is
identical; update each locale README under i18n (specifically the files for
zh-CN, ja, ru, fr, vi, el) to include the same localized hubs list and
language-switch entry you added in docs/README.md, ensure link targets mirror
the new entries and wording, and keep the nav order and IA consistent with the
English hub so all supported locales remain in parity.

In `@docs/SUMMARY.md`:
- Around line 14-19: The unified TOC (docs/SUMMARY.md) added 9 new language
entries (ko, tl, es, pt, it, de, ar, hi, bn) but the six localized SUMMARY files
(zh-CN SUMMARY, ja SUMMARY, ru SUMMARY, fr SUMMARY, vi SUMMARY, el SUMMARY) were
not updated; update each of those six SUMMARY files to add navigation entries
for all nine new languages using the same link text and relative paths pattern
used in docs/SUMMARY.md and per the i18n completion guide so cross-locale
discovery is consistent (ensure zh-CN, ja, ru, vi include ko, tl, pt, hi, bn; fr
and el include ko, tl, pt, bn, and all include entries for es, it, de, ar as
applicable).

In `@README.md`:
- Around line 82-90: The rename of the "Getting Started" header broke inbound
links to ../README.md#quick-start from docs/README.md; restore the old anchor by
adding an explicit HTML anchor named "quick-start" immediately before the
"Getting Started" header in README.md (or revert/duplicate the header text to
include "Quick Start" so the existing ../README.md#quick-start target resolves),
ensuring links from docs/README.md continue to land on the intended section.

---

Outside diff comments:
In `@docs/i18n/README.md`:
- Around line 5-6: Update the README statement that currently claims "all
supported locales are 0-gap against `docs/*.md` baseline" to explicitly
distinguish core parity locales from hub-level support locales: change the
sentence to indicate that core parity locales (zh-CN, ja, ru, fr, vi, el) are
0-gap against `docs/*.md` baseline while the newer hub-level support locales
(ko, tl, es, pt, it, de, ar, hi, bn) are in initial documentation/translation
phase; reference the coverage matrix in `docs/i18n-coverage.md` if needed to
ensure the exact locale lists match.

In `@docs/SUMMARY.md`:
- Line 5: Update the "Last refreshed" timestamp string in the docs by replacing
the existing line "Last refreshed: **February 28, 2026**." with the current date
reflecting these changes (e.g., "Last refreshed: **March 6, 2026**."), ensuring
the exact Markdown formatting and bold markup around the date is preserved.

---

Duplicate comments:
In `@docs/i18n/ko/README.md`:
- Around line 20-35: Add the same file-existence verification used for the
Arabic hub to the Korean hub README: check each referenced locale README link in
the Korean README (the markdown list of locale links) and fail/flag when a
linked target does not exist or the relative path is incorrect; implement this
by reusing the Arabic README verification script or its logic to validate the
listed locale targets and integrate the check into the existing verification
step (CI/pre-commit) so broken links are reported and fixed before merge.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 3929ec34-2a8f-4fb4-a8b2-ad2ab1a1e5e2

📥 Commits

Reviewing files that changed from the base of the PR and between 326b60d and 4680bad.

📒 Files selected for processing (17)
  • README.md
  • docs/README.md
  • docs/SUMMARY.md
  • docs/i18n-coverage.md
  • docs/i18n/README.md
  • docs/i18n/ar/README.md
  • docs/i18n/ar/SUMMARY.md
  • docs/i18n/bn/README.md
  • docs/i18n/bn/SUMMARY.md
  • docs/i18n/de/README.md
  • docs/i18n/de/SUMMARY.md
  • docs/i18n/hi/README.md
  • docs/i18n/hi/SUMMARY.md
  • docs/i18n/ko/README.md
  • docs/i18n/ko/SUMMARY.md
  • docs/i18n/tl/README.md
  • docs/i18n/tl/SUMMARY.md

Comment thread docs/i18n-coverage.md Outdated
Comment on lines +27 to +38
| `ko` | `docs/i18n/ko/README.md` | `docs/i18n/ko/README.md` | — | — | — | Hub-level support (bootstrap) |
| `tl` | `docs/i18n/tl/README.md` | `docs/i18n/tl/README.md` | — | — | — | Hub-level support (bootstrap) |
| `es` | `docs/i18n/es/README.md` | `docs/i18n/es/README.md` | — | — | — | Hub-level support (README translation) |
| `pt` | `docs/i18n/pt/README.md` | `docs/i18n/pt/README.md` | — | — | — | Hub-level support (README translation) |
| `it` | `docs/i18n/it/README.md` | `docs/i18n/it/README.md` | — | — | — | Hub-level support (README translation) |
| `de` | `docs/i18n/de/README.md` | `docs/i18n/de/README.md` | — | — | — | Hub-level support (bootstrap) |
| `ru` | `docs/i18n/ru/README.md` | `docs/i18n/ru/README.md` | `docs/i18n/ru/commands-reference.md` | `docs/i18n/ru/config-reference.md` | `docs/i18n/ru/troubleshooting.md` | Full top-level parity (bridge + localized) |
| `fr` | `docs/i18n/fr/README.md` | `docs/i18n/fr/README.md` | `docs/i18n/fr/commands-reference.md` | `docs/i18n/fr/config-reference.md` | `docs/i18n/fr/troubleshooting.md` | Full top-level parity (bridge + localized) |
| `vi` | `docs/i18n/vi/README.md` | `docs/i18n/vi/README.md` | `docs/i18n/vi/commands-reference.md` | `docs/i18n/vi/config-reference.md` | `docs/i18n/vi/troubleshooting.md` | Full tree localized |
| `ar` | `docs/i18n/ar/README.md` | `docs/i18n/ar/README.md` | — | — | — | Hub-level support (bootstrap) |
| `hi` | `docs/i18n/hi/README.md` | `docs/i18n/hi/README.md` | — | — | — | Hub-level support (bootstrap) |
| `bn` | `docs/i18n/bn/README.md` | `docs/i18n/bn/README.md` | — | — | — | Hub-level support (bootstrap) |
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Keep this coverage guide aligned with the new bootstrap model.

These new hub-only rows make the rest of the page internally inconsistent: the header still says the file was last refreshed on February 24, 2026, and Line 124 still says every new locale must ship commands-reference.md, config-reference.md, and troubleshooting.md. Please update the metadata and checklist in the same PR so this stays the source of truth.

Based on learnings, "Update docs/i18n-coverage.md when coverage status or locale topology changes; keep it synchronized with supported locale list and documentation structure."

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/i18n-coverage.md` around lines 27 - 38, Update the i18n coverage doc to
match the new bootstrap/hub-only model: in i18n-coverage.md update the "last
refreshed" metadata date, revise the checklist text that currently mandates
"every new locale must ship commands-reference.md, config-reference.md, and
troubleshooting.md" to reflect the new hub-only/bridge distinctions, and adjust
the table rows marked "Hub-level support (bootstrap)" so the coverage summary
and topology columns are consistent with the updated documentation structure;
ensure these metadata, checklist text, and the locale table rows are changed
together in this PR so the file remains the single source of truth.

Comment thread docs/i18n/ar/README.md
Comment on lines +20 to +35
- English: [../../../README.md](../../../README.md)
- 简体中文: [../zh-CN/README.md](../zh-CN/README.md)
- 日本語: [../ja/README.md](../ja/README.md)
- 한국어: [../ko/README.md](../ko/README.md)
- Tiếng Việt: [../vi/README.md](../vi/README.md)
- Tagalog: [../tl/README.md](../tl/README.md)
- Español: [../es/README.md](../es/README.md)
- Português: [../pt/README.md](../pt/README.md)
- Italiano: [../it/README.md](../it/README.md)
- Deutsch: [../de/README.md](../de/README.md)
- Français: [../fr/README.md](../fr/README.md)
- العربية: [README.md](README.md)
- हिन्दी: [../hi/README.md](../hi/README.md)
- Русский: [../ru/README.md](../ru/README.md)
- বাংলা: [../bn/README.md](../bn/README.md)
- Ελληνικά: [../el/README.md](../el/README.md)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Verify existence of all locale README files referenced in ar/README.md

locales=("zh-CN" "ja" "ko" "vi" "tl" "es" "pt" "it" "de" "fr" "ar" "hi" "ru" "bn" "el")

echo "Checking locale README files..."
for locale in "${locales[@]}"; do
  file="docs/i18n/$locale/README.md"
  if [ -f "$file" ]; then
    echo "$file exists"
  else
    echo "$file MISSING"
  fi
done

Repository: zeroclaw-labs/zeroclaw

Length of output: 580


🏁 Script executed:

#!/bin/bash
# Description: Check if existing locales reference the new Arabic hub

echo "Checking for Arabic hub references in existing locales..."
for locale in zh-CN ja ru fr vi el; do
  file="docs/i18n/$locale/README.md"
  if [ -f "$file" ]; then
    if grep -q "ar/README.md\|العربية" "$file"; then
      echo "$locale includes Arabic reference"
    else
      echo "$locale MISSING Arabic reference"
    fi
  else
    echo "$file does not exist"
  fi
done

Repository: zeroclaw-labs/zeroclaw

Length of output: 306


Update existing supported locale hubs to include Arabic reference.

All referenced locale files exist, but the i18n follow-through is incomplete. The existing supported locales (zh-CN, ja, ru, fr, vi, el) must include links to the Arabic hub in their README files to maintain navigation parity. Per i18n requirements, when docs IA changes, all currently supported locales must be updated in the same PR.

Update the "Other Languages" sections in:

  • docs/i18n/zh-CN/README.md
  • docs/i18n/ja/README.md
  • docs/i18n/ru/README.md
  • docs/i18n/fr/README.md
  • docs/i18n/vi/README.md
  • docs/i18n/el/README.md

to include: - العربية: [../ar/README.md](../ar/README.md)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/i18n/ar/README.md` around lines 20 - 35, The listed locale README files
(docs/i18n/zh-CN/README.md, docs/i18n/ja/README.md, docs/i18n/ru/README.md,
docs/i18n/fr/README.md, docs/i18n/vi/README.md, docs/i18n/el/README.md) are
missing the Arabic hub link; open each file, find the "Other Languages" or
equivalent language list, and add the line `- العربية:
[../ar/README.md](../ar/README.md)` so the Arabic hub (README.md in
docs/i18n/ar) is referenced consistently across all supported locales.

Comment thread docs/i18n/de/SUMMARY.md
Comment on lines +1 to +20
# ZeroClaw Docs Summary (German)

This is the German locale summary entry point.

Last synchronized: **March 6, 2026**.

## Entry Points

- German docs hub: [README.md](README.md)
- English docs hub: [../../README.md](../../README.md)
- English unified summary: [../../SUMMARY.md](../../SUMMARY.md)

## Operator References (English Source)

- [../../commands-reference.md](../../commands-reference.md)
- [../../config-reference.md](../../config-reference.md)
- [../../providers-reference.md](../../providers-reference.md)
- [../../channels-reference.md](../../channels-reference.md)
- [../../operations-runbook.md](../../operations-runbook.md)
- [../../troubleshooting.md](../../troubleshooting.md)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Compare SUMMARY.md structure across existing supported locales

echo "=== Existing supported locale SUMMARY files ==="
for locale in zh-CN ja ru fr vi el; do
  summary_file="docs/i18n/$locale/SUMMARY.md"
  if [ -f "$summary_file" ]; then
    echo "--- $locale SUMMARY.md (first 30 lines) ---"
    head -n 30 "$summary_file"
    echo ""
  else
    echo "✗ Missing: $summary_file"
    echo ""
  fi
done

echo "=== New German SUMMARY.md ==="
if [ -f "docs/i18n/de/SUMMARY.md" ]; then
  cat "docs/i18n/de/SUMMARY.md"
else
  echo "✗ Missing: docs/i18n/de/SUMMARY.md"
fi

Repository: zeroclaw-labs/zeroclaw

Length of output: 8027


Add category sections and German translations to match established locale SUMMARY structure; verify German is officially supported.

This German SUMMARY.md is structurally inconsistent with other supported locale SUMMARY files (zh-CN, ja, ru, fr, vi, el):

  • Missing Categories section: All other locales include Getting Started, Reference, Operations, Security, Hardware, Contributing category hubs.
  • Wrong language: Content is in English; should be in German (title claims "German locale").
  • Incomplete navigation: Missing i18n index (../README.md) and i18n coverage map links present in all other locales.
  • Limited scope: Only references operator/runtime docs; should include full docs structure categories.

Additionally, German (de) is not listed in the officially supported locales (en, zh-CN, ja, ru, fr, vi, el) per i18n guidelines. Confirm whether German support is now being added before completing this file.

Structure comparison (first 30 lines of each locale)
  • zh-CN: Entry points → Categories (6 sections) → Wave 1 runtime docs
  • ja: Entry points → Categories (6 sections) → Wave 1 runtime docs
  • ru: Entry points → Sections (6 categories) → Documents Wave 1
  • fr: Entry points → Categories (6 sections) → Documents runtime Wave 1
  • vi: Entry points → Categories (3 numbered sections with subsections)
  • el: Language selection → Themed sections
  • de (new): Entry points → Operator references only (no categories)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/i18n/de/SUMMARY.md` around lines 1 - 20, The German SUMMARY.md currently
contains only English operator references and lacks the standard locale
sections; replace the English content with a German-translated SUMMARY that
matches the established locale structure (include the "Getting Started",
"Reference", "Operations", "Security", "Hardware", and "Contributing" category
hubs and the i18n index ../README.md and i18n coverage map links), ensure the
file title/header "ZeroClaw Docs Summary (German)" and all link labels are in
German, and expand navigation to cover the full docs scope instead of only
operator/runtime references; before making changes, confirm whether German
("de") is intended to be an officially supported locale (per i18n supported
locales list) and if not, flag this PR for locale-approval instead of merging.

Comment thread docs/i18n/de/SUMMARY.md
Comment on lines +7 to +11
## Entry Points

- German docs hub: [README.md](README.md)
- English docs hub: [../../README.md](../../README.md)
- English unified summary: [../../SUMMARY.md](../../SUMMARY.md)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Verify that all linked files from the German SUMMARY exist

cd docs/i18n/de

# Check local German hub
if [ -f "README.md" ]; then
  echo "✓ German hub exists: README.md"
else
  echo "✗ Missing: README.md"
fi

# Check English docs hub
if [ -f "../../README.md" ]; then
  echo "✓ English docs hub exists: ../../README.md"
else
  echo "✗ Missing: ../../README.md"
fi

# Check English unified summary
if [ -f "../../SUMMARY.md" ]; then
  echo "✓ English unified summary exists: ../../SUMMARY.md"
else
  echo "✗ Missing: ../../SUMMARY.md"
fi

Repository: zeroclaw-labs/zeroclaw

Length of output: 190


🏁 Script executed:

# Check if de/ directory exists and what locales are present
ls -la docs/i18n/ | grep -E "^d"

Repository: zeroclaw-labs/zeroclaw

Length of output: 968


🏁 Script executed:

# Search for any locale configuration or declarations
rg -i "locale|supported.*lang|de-de|german" --max-count=20

Repository: zeroclaw-labs/zeroclaw

Length of output: 24910


🏁 Script executed:

# Compare structure of SUMMARY.md across locales
for locale in en zh-CN ja ru fr vi el de; do
  if [ -f "docs/i18n/$locale/SUMMARY.md" ]; then
    echo "=== $locale ==="
    head -15 "docs/i18n/$locale/SUMMARY.md" | grep -A 5 "Entry Points"
  fi
done

Repository: zeroclaw-labs/zeroclaw

Length of output: 324


German (de) is not an officially supported locale; entry points section violates locale parity requirements.

While the linked files exist, this file should not have entry point navigation setup. According to coding guidelines and contract (CLAUDE.md, AGENTS.md), officially supported locales for docs parity are: en, zh-CN, ja, ru, fr, vi, el. German is not in this list. Additionally, the supported locale SUMMARY files do not contain equivalent "Entry Points" sections, creating inconsistency. Remove this section or document German as a formally supported locale and update all other core locales' summaries to match.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/i18n/de/SUMMARY.md` around lines 7 - 11, The "## Entry Points" section
in docs/i18n/de/SUMMARY.md violates locale parity; remove the entire "## Entry
Points" heading and the three bullet links (German docs hub, English docs hub,
English unified summary) from that file so the German SUMMARY no longer defines
entry-point navigation, or alternatively, if you intend to add German as an
officially supported locale, add it to the supported-locales lists in CLAUDE.md
and AGENTS.md and then add equivalent "Entry Points" sections to all other core
locales' SUMMARY.md files to maintain parity; locate the section by the literal
heading "## Entry Points" and the specific link targets [README.md],
[../../README.md], [../../SUMMARY.md] when making the change.

Comment thread docs/i18n/de/SUMMARY.md
Comment on lines +13 to +20
## Operator References (English Source)

- [../../commands-reference.md](../../commands-reference.md)
- [../../config-reference.md](../../config-reference.md)
- [../../providers-reference.md](../../providers-reference.md)
- [../../channels-reference.md](../../channels-reference.md)
- [../../operations-runbook.md](../../operations-runbook.md)
- [../../troubleshooting.md](../../troubleshooting.md)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Verify that all operator reference files exist

cd docs

references=(
  "commands-reference.md"
  "config-reference.md"
  "providers-reference.md"
  "channels-reference.md"
  "operations-runbook.md"
  "troubleshooting.md"
)

for ref in "${references[@]}"; do
  if [ -f "$ref" ]; then
    echo "✓ Reference exists: $ref"
  else
    echo "✗ Missing: $ref"
  fi
done

Repository: zeroclaw-labs/zeroclaw

Length of output: 313


🏁 Script executed:

#!/bin/bash
# Check which locales exist and how they structure their SUMMARY files

echo "=== Checking i18n directory structure ==="
if [ -d "docs/i18n" ]; then
  ls -la docs/i18n | grep "^d"
fi

echo ""
echo "=== Checking German SUMMARY.md structure around operator references ==="
if [ -f "docs/i18n/de/SUMMARY.md" ]; then
  sed -n '10,25p' docs/i18n/de/SUMMARY.md
fi

echo ""
echo "=== Checking if other locales exist ==="
for locale in en zh-CN ja ru fr vi el; do
  if [ -f "docs/i18n/$locale/SUMMARY.md" ]; then
    echo "✓ Found: docs/i18n/$locale/SUMMARY.md"
  else
    echo "✗ Missing: docs/i18n/$locale/SUMMARY.md"
  fi
done

Repository: zeroclaw-labs/zeroclaw

Length of output: 1879


🏁 Script executed:

#!/bin/bash
# Check how zh-CN (supported locale) structures operator references

echo "=== Chinese (zh-CN) SUMMARY.md operator references section ==="
if [ -f "docs/i18n/zh-CN/SUMMARY.md" ]; then
  grep -A 8 "Operator References" docs/i18n/zh-CN/SUMMARY.md || grep -A 8 "操作参考" docs/i18n/zh-CN/SUMMARY.md || echo "No operator references found"
fi

echo ""
echo "=== Japanese (ja) SUMMARY.md operator references section ==="
if [ -f "docs/i18n/ja/SUMMARY.md" ]; then
  grep -A 8 "Operator References\|オペレータ参考" docs/i18n/ja/SUMMARY.md || echo "No operator references found"
fi

Repository: zeroclaw-labs/zeroclaw

Length of output: 248


🏁 Script executed:

#!/bin/bash
# View complete supported locale SUMMARY files to check for operator references

echo "=== Checking supported locales for operator references section ==="
for locale in zh-CN ja ru fr vi el; do
  if [ -f "docs/i18n/$locale/SUMMARY.md" ]; then
    echo ""
    echo "--- $locale/SUMMARY.md ---"
    cat "docs/i18n/$locale/SUMMARY.md" | tail -20
  fi
done

Repository: zeroclaw-labs/zeroclaw

Length of output: 5166


🏁 Script executed:

#!/bin/bash
# Check if German (de) is mentioned anywhere in the codebase as supported

echo "=== Searching for German locale references in codebase ==="
rg -i "german|deutsch|de\)" --max-count=5 -g "*.md" -g "*.json" -g "*.yaml" -g "*.yml" docs/ | head -20

echo ""
echo "=== Checking locale configuration files ==="
find . -maxdepth 3 -name "*config*" -o -name "*locales*" -o -name "*i18n*" | grep -E "\.(json|yaml|yml|ts|js)$" | head -10

Repository: zeroclaw-labs/zeroclaw

Length of output: 2758


🏁 Script executed:

#!/bin/bash
# Check if localized operator reference files exist in supported locales vs German

echo "=== Checking for localized operator reference files ==="
for locale in de zh-CN ja ru fr vi el; do
  echo ""
  echo "--- $locale ---"
  for ref in commands-reference.md config-reference.md providers-reference.md channels-reference.md operations-runbook.md troubleshooting.md; do
    if [ -f "docs/i18n/$locale/$ref" ]; then
      echo "$ref"
    fi
  done | head -1
  
  if [ -d "docs/i18n/$locale" ] && [ -z "$(ls docs/i18n/$locale/*.md 2>/dev/null | head -1)" ]; then
    echo "  (No .md files in locale dir)"
  fi
done

echo ""
echo "=== Full contents of docs/i18n/de/ directory ==="
ls -la docs/i18n/de/ 2>/dev/null || echo "Directory not accessible or empty"

Repository: zeroclaw-labs/zeroclaw

Length of output: 648


🏁 Script executed:

#!/bin/bash
# Check locale support definition in codebase

echo "=== Checking for locale configuration/support definitions ==="
rg "supported.*locale|locale.*list|locales:" -i --max-count=10 docs/ -A 3 | head -40

echo ""
echo "=== German in i18n README ==="
grep -A 2 -B 2 "German\|Deutsch" docs/i18n/README.md || echo "No German references found"

Repository: zeroclaw-labs/zeroclaw

Length of output: 2745


Remove or localize the operator references section in German SUMMARY.md.

German (de) is not an officially supported locale per docs/i18n-guide.md (supported locales: en, zh-CN, ja, ru, fr, vi, el). The "Operator References (English Source)" section at lines 13–20 is inconsistent: all other supported locales link to their own localized operator reference files (e.g., commands-reference.md within their locale directory), while German links to English root documents. Either remove this section from the German SUMMARY.md or, if German localization is intended, provide the corresponding localized operator reference files in docs/i18n/de/.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/i18n/de/SUMMARY.md` around lines 13 - 20, The German SUMMARY.md contains
an "Operator References (English Source)" section linking to root English docs
(e.g., ../../commands-reference.md, ../../config-reference.md) which is
inconsistent with supported locales; either remove that entire "Operator
References (English Source)" section from docs/i18n/de/SUMMARY.md or replace
each English link with localized equivalents in docs/i18n/de/ (e.g., point to
de/commands-reference.md, de/config-reference.md, de/providers-reference.md,
de/channels-reference.md, de/operations-runbook.md, de/troubleshooting.md) and
add the corresponding localized files under docs/i18n/de/ if you intend to
localize German.

Comment thread docs/README.md Outdated
Last refreshed: **February 21, 2026**.

Localized hubs: [简体中文](i18n/zh-CN/README.md) · [日本語](i18n/ja/README.md) · [Русский](i18n/ru/README.md) · [Français](i18n/fr/README.md) · [Tiếng Việt](i18n/vi/README.md) · [Ελληνικά](i18n/el/README.md).
Localized hubs: [简体中文](i18n/zh-CN/README.md) · [日本語](i18n/ja/README.md) · [한국어](i18n/ko/README.md) · [Tiếng Việt](i18n/vi/README.md) · [Tagalog](i18n/tl/README.md) · [Español](i18n/es/README.md) · [Português](i18n/pt/README.md) · [Italiano](i18n/it/README.md) · [Deutsch](i18n/de/README.md) · [Français](i18n/fr/README.md) · [العربية](i18n/ar/README.md) · [हिन्दी](i18n/hi/README.md) · [Русский](i18n/ru/README.md) · [বাংলা](i18n/bn/README.md) · [Ελληνικά](i18n/el/README.md).
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Carry this nav change through the currently supported locale hubs.

This expands the English docs-hub language switch, but the PR does not include the matching entry-point updates for the existing supported locales (zh-CN, ja, ru, fr, vi, el). That leaves the shared docs IA out of parity depending on which locale hub a user lands on.

Based on learnings, "If a change touches docs IA, runtime-contract references, or user-facing wording in shared docs, perform i18n follow-through for currently supported locales in the same PR" and "Keep README/hub top navigation parity across all supported locales (en, zh-CN, ja, ru, fr, vi, el) when changing navigation architecture".

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/README.md` at line 7, The English docs-hub navigation change must be
replicated across the currently supported locale hub entry-points so the
top-nav/language-switch is identical; update each locale README under i18n
(specifically the files for zh-CN, ja, ru, fr, vi, el) to include the same
localized hubs list and language-switch entry you added in docs/README.md,
ensure link targets mirror the new entries and wording, and keep the nav order
and IA consistent with the English hub so all supported locales remain in
parity.

Comment thread docs/SUMMARY.md Outdated
Comment on lines +14 to +19
- Korean README: [docs/i18n/ko/README.md](i18n/ko/README.md)
- Tagalog README: [docs/i18n/tl/README.md](i18n/tl/README.md)
- Spanish README: [docs/i18n/es/README.md](i18n/es/README.md)
- Portuguese README: [docs/i18n/pt/README.md](i18n/pt/README.md)
- Italian README: [docs/i18n/it/README.md](i18n/it/README.md)
- German README: [docs/i18n/de/README.md](i18n/de/README.md)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Verify all locale README and SUMMARY files referenced in docs/SUMMARY.md exist

new_locales=("ko" "tl" "es" "pt" "it" "de" "ar" "hi" "bn")

echo "Checking locale files for new entries in docs/SUMMARY.md..."
for locale in "${new_locales[@]}"; do
  readme="docs/i18n/$locale/README.md"
  summary="docs/i18n/$locale/SUMMARY.md"
  
  echo "Locale: $locale"
  [ -f "$readme" ] && echo "  ✓ README exists" || echo "  ✗ README MISSING"
  [ -f "$summary" ] && echo "  ✓ SUMMARY exists" || echo "  ✗ SUMMARY MISSING"
done

echo ""
echo "Links from docs/SUMMARY.md that will be broken:"
for locale in es pt it de hi; do
  echo "  - Line reference to i18n/$locale/README.md"
done

Repository: zeroclaw-labs/zeroclaw

Length of output: 809


🏁 Script executed:

#!/bin/bash
# Description: Check if existing locale summaries include new language entries

existing_locales=("zh-CN" "ja" "ru" "fr" "vi" "el")
new_locales=("ko" "tl" "es" "pt" "it" "de" "ar" "hi" "bn")

echo "Checking if existing locales reference new languages..."
for existing in "${existing_locales[@]}"; do
  summary="docs/i18n/$existing/SUMMARY.md"
  if [ -f "$summary" ]; then
    echo "Locale: $existing"
    for new in "${new_locales[@]}"; do
      if grep -q "$new" "$summary"; then
        echo "  ✓ references $new"
      else
        echo "  ✗ missing reference to $new"
      fi
    done
  else
    echo "$summary does not exist"
  fi
done

Repository: zeroclaw-labs/zeroclaw

Length of output: 1442


🏁 Script executed:

cd docs && cat -n SUMMARY.md | sed -n '10,45p'

Repository: zeroclaw-labs/zeroclaw

Length of output: 2477


🏁 Script executed:

ls -la docs/i18n/ | grep -E '^d' | awk '{print $NF}'

Repository: zeroclaw-labs/zeroclaw

Length of output: 118


🏁 Script executed:

# Check i18n-guide.md to understand repo's definition of supported locales
head -50 docs/i18n-guide.md

Repository: zeroclaw-labs/zeroclaw

Length of output: 2564


🏁 Script executed:

# Look for any i18n guide or documentation about which locales are "supported"
find docs -name "*i18n*" -type f | head -20

Repository: zeroclaw-labs/zeroclaw

Length of output: 650


Critical: Update all supported-locale SUMMARY files to reference newly-added languages.

Adding 9 new language entries (ko, tl, es, pt, it, de, ar, hi, bn) to docs/SUMMARY.md requires i18n follow-through per the i18n completion guide. The trigger matrix specifies: when a unified TOC language entry changes, update every docs/i18n/*/SUMMARY.md for supported locales.

Currently, the 6 supported-locale SUMMARY files (zh-CN, ja, ru, fr, vi, el) have incomplete or missing references to the new languages:

  • zh-CN/SUMMARY.md, ja/SUMMARY.md, ru/SUMMARY.md, vi/SUMMARY.md: missing ko, tl, pt, hi, bn
  • fr/SUMMARY.md, el/SUMMARY.md: missing ko, tl, pt, bn

Update all 6 supported-locale SUMMARY files to include navigation entries for all 9 new languages to maintain consistent cross-locale discovery.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/SUMMARY.md` around lines 14 - 19, The unified TOC (docs/SUMMARY.md)
added 9 new language entries (ko, tl, es, pt, it, de, ar, hi, bn) but the six
localized SUMMARY files (zh-CN SUMMARY, ja SUMMARY, ru SUMMARY, fr SUMMARY, vi
SUMMARY, el SUMMARY) were not updated; update each of those six SUMMARY files to
add navigation entries for all nine new languages using the same link text and
relative paths pattern used in docs/SUMMARY.md and per the i18n completion guide
so cross-locale discovery is consistent (ensure zh-CN, ja, ru, vi include ko,
tl, pt, hi, bn; fr and el include ko, tl, pt, bn, and all include entries for
es, it, de, ar as applicable).

Comment thread README.md Outdated
Comment on lines +82 to +90
## Getting Started

### Option 0: One-line Installer (Default TUI Onboarding)
Use repository docs as the canonical source for setup and operations:

```bash
curl -fsSL https://zeroclawlabs.ai/install.sh | bash
```

### Option 1: Homebrew (macOS/Linuxbrew)

```bash
brew install zeroclaw
```

### Option 2: Clone + Bootstrap

```bash
git clone https://github.com/zeroclaw-labs/zeroclaw.git
cd zeroclaw
./bootstrap.sh
```

> **Note:** Source builds require ~2GB RAM and ~6GB disk. For resource-constrained systems, use `./bootstrap.sh --prefer-prebuilt` to download a pre-built binary instead.

### Option 3: Cargo Install

```bash
cargo install zeroclaw
```

### First Run

```bash
# Start the gateway (serves the Web Dashboard API/UI)
zeroclaw gateway

# Open the dashboard URL shown in startup logs
# (default: http://127.0.0.1:3000/)

# Or chat directly
zeroclaw chat "Hello!"
```

For detailed setup options, see [docs/one-click-bootstrap.md](docs/one-click-bootstrap.md).

### Installation Docs (Canonical Source)

Use repository docs as the source of truth for install/setup instructions:

- [README Quick Start](#quick-start)
- [docs/one-click-bootstrap.md](docs/one-click-bootstrap.md)
- [docs/getting-started/README.md](docs/getting-started/README.md)

Issue comments can provide context, but they are not canonical installation documentation.

### Migrate from OpenClaw

Already running OpenClaw? One command:

```bash
# Migrate everything - agents, memory, and configs
zeroclaw migrate openclaw

# Migrate from a specific OpenClaw path
zeroclaw migrate openclaw --source ~/.openclaw/workspace --source-config ~/.openclaw/openclaw.json

# Dry run first to see what would change
zeroclaw migrate openclaw --dry-run
```

The migration engine imports your agents, memory entries, and configuration with merge-first semantics that preserve existing ZeroClaw data. ZeroClaw reads `SKILL.md` natively and is compatible with the ClawHub marketplace.

## Benchmark Snapshot (ZeroClaw vs OpenClaw, Reproducible)

Local machine quick benchmark (macOS arm64, Feb 2026) normalized for 0.8GHz edge hardware.

| | OpenClaw | NanoBot | PicoClaw | ZeroClaw 🦀 |
| ------------------------- | ------------- | -------------- | --------------- | -------------------- |
| **Language** | TypeScript | Python | Go | **Rust** |
| **RAM** | > 1GB | > 100MB | < 10MB | **< 5MB** |
| **Startup (0.8GHz core)** | > 500s | > 30s | < 1s | **< 10ms** |
| **Binary Size** | ~28MB (dist) | N/A (Scripts) | ~8MB | **~8.8 MB** |
| **Cost** | Mac Mini $599 | Linux SBC ~$50 | Linux Board $10 | **Any hardware** |

> Notes: ZeroClaw results are measured on release builds using `/usr/bin/time -l`. OpenClaw requires Node.js runtime (typically ~390MB additional memory overhead), while NanoBot requires Python runtime. PicoClaw and ZeroClaw are static binaries. The RAM figures above are runtime memory; build-time compilation requirements are higher.

<p align="center">
<img src="zero-claw.jpeg" alt="ZeroClaw vs OpenClaw Comparison" width="800" />
</p>

---

For full documentation, see [`docs/README.md`](docs/README.md) | [`docs/SUMMARY.md`](docs/SUMMARY.md)
- [docs/commands-reference.md](docs/commands-reference.md)
- [docs/README.md](docs/README.md)
- [docs/SUMMARY.md](docs/SUMMARY.md)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Preserve the old #quick-start anchor or update inbound links.

Renaming this section breaks the ../README.md#quick-start jump used from docs/README.md Line 13, so that entry-point link no longer lands on the intended section.

Proposed fix
+<a id="quick-start"></a>
 ## Getting Started
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
## Getting Started
### Option 0: One-line Installer (Default TUI Onboarding)
Use repository docs as the canonical source for setup and operations:
```bash
curl -fsSL https://zeroclawlabs.ai/install.sh | bash
```
### Option 1: Homebrew (macOS/Linuxbrew)
```bash
brew install zeroclaw
```
### Option 2: Clone + Bootstrap
```bash
git clone https://github.com/zeroclaw-labs/zeroclaw.git
cd zeroclaw
./bootstrap.sh
```
> **Note:** Source builds require ~2GB RAM and ~6GB disk. For resource-constrained systems, use `./bootstrap.sh --prefer-prebuilt` to download a pre-built binary instead.
### Option 3: Cargo Install
```bash
cargo install zeroclaw
```
### First Run
```bash
# Start the gateway (serves the Web Dashboard API/UI)
zeroclaw gateway
# Open the dashboard URL shown in startup logs
# (default: http://127.0.0.1:3000/)
# Or chat directly
zeroclaw chat "Hello!"
```
For detailed setup options, see [docs/one-click-bootstrap.md](docs/one-click-bootstrap.md).
### Installation Docs (Canonical Source)
Use repository docs as the source of truth for install/setup instructions:
- [README Quick Start](#quick-start)
- [docs/one-click-bootstrap.md](docs/one-click-bootstrap.md)
- [docs/getting-started/README.md](docs/getting-started/README.md)
Issue comments can provide context, but they are not canonical installation documentation.
### Migrate from OpenClaw
Already running OpenClaw? One command:
```bash
# Migrate everything - agents, memory, and configs
zeroclaw migrate openclaw
# Migrate from a specific OpenClaw path
zeroclaw migrate openclaw --source ~/.openclaw/workspace --source-config ~/.openclaw/openclaw.json
# Dry run first to see what would change
zeroclaw migrate openclaw --dry-run
```
The migration engine imports your agents, memory entries, and configuration with merge-first semantics that preserve existing ZeroClaw data. ZeroClaw reads `SKILL.md` natively and is compatible with the ClawHub marketplace.
## Benchmark Snapshot (ZeroClaw vs OpenClaw, Reproducible)
Local machine quick benchmark (macOS arm64, Feb 2026) normalized for 0.8GHz edge hardware.
| | OpenClaw | NanoBot | PicoClaw | ZeroClaw 🦀 |
| ------------------------- | ------------- | -------------- | --------------- | -------------------- |
| **Language** | TypeScript | Python | Go | **Rust** |
| **RAM** | > 1GB | > 100MB | < 10MB | **< 5MB** |
| **Startup (0.8GHz core)** | > 500s | > 30s | < 1s | **< 10ms** |
| **Binary Size** | ~28MB (dist) | N/A (Scripts) | ~8MB | **~8.8 MB** |
| **Cost** | Mac Mini $599 | Linux SBC ~$50 | Linux Board $10 | **Any hardware** |
> Notes: ZeroClaw results are measured on release builds using `/usr/bin/time -l`. OpenClaw requires Node.js runtime (typically ~390MB additional memory overhead), while NanoBot requires Python runtime. PicoClaw and ZeroClaw are static binaries. The RAM figures above are runtime memory; build-time compilation requirements are higher.
<p align="center">
<img src="zero-claw.jpeg" alt="ZeroClaw vs OpenClaw Comparison" width="800" />
</p>
---
For full documentation, see [`docs/README.md`](docs/README.md) | [`docs/SUMMARY.md`](docs/SUMMARY.md)
- [docs/commands-reference.md](docs/commands-reference.md)
- [docs/README.md](docs/README.md)
- [docs/SUMMARY.md](docs/SUMMARY.md)
<a id="quick-start"></a>
## Getting Started
Use repository docs as the canonical source for setup and operations:
- [docs/one-click-bootstrap.md](docs/one-click-bootstrap.md)
- [docs/getting-started/README.md](docs/getting-started/README.md)
- [docs/commands-reference.md](docs/commands-reference.md)
- [docs/README.md](docs/README.md)
- [docs/SUMMARY.md](docs/SUMMARY.md)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@README.md` around lines 82 - 90, The rename of the "Getting Started" header
broke inbound links to ../README.md#quick-start from docs/README.md; restore the
old anchor by adding an explicit HTML anchor named "quick-start" immediately
before the "Getting Started" header in README.md (or revert/duplicate the header
text to include "Quick Start" so the existing ../README.md#quick-start target
resolves), ensuring links from docs/README.md continue to land on the intended
section.

@theonlyhennygod theonlyhennygod self-assigned this Mar 6, 2026
@willsarg willsarg changed the base branch from main to master March 7, 2026 18:29
Expand README/docs navigation to include Korean, Tagalog, German, Arabic, Hindi, and Bengali locale entries. Add canonical locale hub and summary files for each new language under docs/i18n/.

Update i18n index/coverage metadata to reflect hub-level support and keep language discovery consistent across root docs entry points.
@theonlyhennygod theonlyhennygod force-pushed the chore/i18n-expand-discord-language-set-20260306 branch from 4680bad to 505eae0 Compare March 20, 2026 21:24
@theonlyhennygod theonlyhennygod merged commit cc47060 into master Mar 20, 2026
19 checks passed
@theonlyhennygod theonlyhennygod deleted the chore/i18n-expand-discord-language-set-20260306 branch March 20, 2026 21:40
webhive pushed a commit to webhive/zeroclaw that referenced this pull request Mar 24, 2026
…bs#2934)

Expand README/docs navigation to include Korean, Tagalog, German, Arabic, Hindi, and Bengali locale entries. Add canonical locale hub and summary files for each new language under docs/i18n/.

Update i18n index/coverage metadata to reflect hub-level support and keep language discovery consistent across root docs entry points.
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.

1 participant