From db4d0b8e7519c17d9a82052242452c52b2d4d341 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Wed, 7 Jan 2026 00:41:31 +0100 Subject: [PATCH] docs: reorganize documentation structure --- docs/_config.yml | 24 +- docs/{ => automation}/cron-jobs.md | 0 docs/{ => automation}/gmail-pubsub.md | 4 +- docs/{ => automation}/poll.md | 0 docs/{ => automation}/webhook.md | 1 + docs/{ => concepts}/agent-loop.md | 0 docs/{ => concepts}/agent-workspace.md | 0 docs/{ => concepts}/agent.md | 0 docs/{ => concepts}/architecture.md | 0 docs/{ => concepts}/group-messages.md | 0 docs/{ => concepts}/groups.md | 0 docs/{ => concepts}/model-failover.md | 0 docs/{ => concepts}/models.md | 0 docs/{ => concepts}/multi-agent.md | 0 docs/{ => concepts}/presence.md | 0 docs/{ => concepts}/provider-routing.md | 0 docs/{ => concepts}/queue.md | 0 docs/{ => concepts}/session-tool.md | 0 docs/{ => concepts}/session.md | 0 docs/{ => concepts}/sessions.md | 0 docs/{ => concepts}/timezone.md | 0 docs/{ => concepts}/typebox.md | 0 docs/docs.json | 668 ++++++++++++++++-- .../onboarding-config-protocol.md | 0 .../plans/cron-add-hardening.md | 0 .../plans/group-policy-hardening.md | 0 .../proposals/model-config.md | 0 docs/{ => experiments}/research/memory.md | 0 docs/{ => gateway}/background-process.md | 0 docs/{ => gateway}/bonjour.md | 0 docs/{ => gateway}/configuration.md | 0 docs/{ => gateway}/discovery.md | 0 docs/{ => gateway}/doctor.md | 0 docs/{ => gateway}/gateway-lock.md | 0 docs/{ => gateway}/health.md | 0 docs/{ => gateway}/heartbeat.md | 0 docs/{gateway.md => gateway/index.md} | 0 docs/{ => gateway}/logging.md | 0 docs/{ => gateway}/remote-gateway-readme.md | 0 docs/{ => gateway}/remote.md | 0 docs/{ => gateway}/security.md | 0 docs/{ => gateway}/tailscale.md | 0 docs/{ => gateway}/troubleshooting.md | 0 docs/hubs.md | 152 ---- docs/index.md | 96 +-- docs/{ => install}/bun.md | 0 docs/{ => install}/docker.md | 0 docs/{ => install}/nix.md | 0 docs/{ => install}/updating.md | 0 docs/{ => nodes}/audio.md | 0 docs/{ => nodes}/camera.md | 0 docs/{ => nodes}/images.md | 0 docs/{nodes.md => nodes/index.md} | 0 docs/{ => nodes}/location-command.md | 0 docs/{ => nodes}/talk.md | 0 docs/{ => nodes}/voicewake.md | 0 docs/{ => platforms}/android.md | 0 docs/{ => platforms}/ios.md | 0 docs/{ => platforms}/linux.md | 0 docs/{ => platforms}/mac/bun.md | 0 docs/{ => platforms}/mac/canvas.md | 0 docs/{ => platforms}/mac/child-process.md | 0 docs/{ => platforms}/mac/dev-setup.md | 0 docs/{ => platforms}/mac/health.md | 0 docs/{ => platforms}/mac/icon.md | 0 docs/{ => platforms}/mac/logging.md | 0 docs/{ => platforms}/mac/menu-bar.md | 0 docs/{ => platforms}/mac/peekaboo.md | 0 docs/{ => platforms}/mac/permissions.md | 0 docs/{ => platforms}/mac/release.md | 0 docs/{ => platforms}/mac/remote.md | 0 docs/{ => platforms}/mac/signing.md | 0 docs/{ => platforms}/mac/skills.md | 0 docs/{ => platforms}/mac/voice-overlay.md | 0 docs/{ => platforms}/mac/voicewake.md | 0 docs/{ => platforms}/mac/webchat.md | 0 docs/{ => platforms}/mac/xpc.md | 0 docs/{ => platforms}/macos.md | 0 docs/{ => platforms}/windows.md | 0 docs/{ => providers}/discord.md | 0 docs/{ => providers}/grammy.md | 0 docs/{ => providers}/imessage.md | 0 docs/{ => providers}/location.md | 0 docs/{ => providers}/signal.md | 0 docs/{ => providers}/slack.md | 0 docs/{ => providers}/telegram.md | 0 docs/{ => providers}/whatsapp.md | 0 docs/{ => reference}/AGENTS.default.md | 8 +- docs/{ => reference}/RELEASING.md | 0 docs/{ => reference}/device-models.md | 0 docs/{ => reference}/rpc.md | 0 docs/{ => reference}/templates/AGENTS.md | 0 docs/{ => reference}/templates/BOOTSTRAP.md | 0 docs/{ => reference}/templates/HEARTBEAT.md | 0 docs/{ => reference}/templates/IDENTITY.md | 0 docs/{ => reference}/templates/SOUL.md | 0 docs/{ => reference}/templates/TOOLS.md | 0 docs/{ => reference}/templates/USER.md | 0 docs/{ => reference}/test.md | 0 docs/{ => start}/clawd.md | 0 docs/{ => start}/faq.md | 0 docs/{ => start}/getting-started.md | 0 docs/start/hubs.md | 164 +++++ docs/{ => start}/lore.md | 0 docs/{ => start}/onboarding.md | 0 docs/{ => start}/pairing.md | 0 docs/{ => start}/setup.md | 0 docs/{ => start}/showcase.md | 0 docs/{ => start}/wizard.md | 0 docs/{ => tools}/agent-send.md | 0 docs/{ => tools}/bash.md | 0 .../browser-linux-troubleshooting.md | 0 docs/{ => tools}/browser.md | 0 docs/{ => tools}/clawdhub.md | 0 docs/{ => tools}/elevated.md | 0 docs/{tools.md => tools/index.md} | 0 docs/{ => tools}/skills-config.md | 0 docs/{ => tools}/skills.md | 0 docs/{ => tools}/slash-commands.md | 0 docs/{ => tools}/subagents.md | 0 docs/{ => tools}/thinking.md | 0 docs/{ => web}/control-ui.md | 8 + docs/{ => web}/dashboard.md | 11 +- docs/{web.md => web/index.md} | 15 +- docs/{ => web}/tui.md | 0 docs/{ => web}/webchat.md | 0 126 files changed, 881 insertions(+), 270 deletions(-) rename docs/{ => automation}/cron-jobs.md (100%) rename docs/{ => automation}/gmail-pubsub.md (96%) rename docs/{ => automation}/poll.md (100%) rename docs/{ => automation}/webhook.md (96%) rename docs/{ => concepts}/agent-loop.md (100%) rename docs/{ => concepts}/agent-workspace.md (100%) rename docs/{ => concepts}/agent.md (100%) rename docs/{ => concepts}/architecture.md (100%) rename docs/{ => concepts}/group-messages.md (100%) rename docs/{ => concepts}/groups.md (100%) rename docs/{ => concepts}/model-failover.md (100%) rename docs/{ => concepts}/models.md (100%) rename docs/{ => concepts}/multi-agent.md (100%) rename docs/{ => concepts}/presence.md (100%) rename docs/{ => concepts}/provider-routing.md (100%) rename docs/{ => concepts}/queue.md (100%) rename docs/{ => concepts}/session-tool.md (100%) rename docs/{ => concepts}/session.md (100%) rename docs/{ => concepts}/sessions.md (100%) rename docs/{ => concepts}/timezone.md (100%) rename docs/{ => concepts}/typebox.md (100%) rename docs/{ => experiments}/onboarding-config-protocol.md (100%) rename docs/{ => experiments}/plans/cron-add-hardening.md (100%) rename docs/{ => experiments}/plans/group-policy-hardening.md (100%) rename docs/{ => experiments}/proposals/model-config.md (100%) rename docs/{ => experiments}/research/memory.md (100%) rename docs/{ => gateway}/background-process.md (100%) rename docs/{ => gateway}/bonjour.md (100%) rename docs/{ => gateway}/configuration.md (100%) rename docs/{ => gateway}/discovery.md (100%) rename docs/{ => gateway}/doctor.md (100%) rename docs/{ => gateway}/gateway-lock.md (100%) rename docs/{ => gateway}/health.md (100%) rename docs/{ => gateway}/heartbeat.md (100%) rename docs/{gateway.md => gateway/index.md} (100%) rename docs/{ => gateway}/logging.md (100%) rename docs/{ => gateway}/remote-gateway-readme.md (100%) rename docs/{ => gateway}/remote.md (100%) rename docs/{ => gateway}/security.md (100%) rename docs/{ => gateway}/tailscale.md (100%) rename docs/{ => gateway}/troubleshooting.md (100%) delete mode 100644 docs/hubs.md rename docs/{ => install}/bun.md (100%) rename docs/{ => install}/docker.md (100%) rename docs/{ => install}/nix.md (100%) rename docs/{ => install}/updating.md (100%) rename docs/{ => nodes}/audio.md (100%) rename docs/{ => nodes}/camera.md (100%) rename docs/{ => nodes}/images.md (100%) rename docs/{nodes.md => nodes/index.md} (100%) rename docs/{ => nodes}/location-command.md (100%) rename docs/{ => nodes}/talk.md (100%) rename docs/{ => nodes}/voicewake.md (100%) rename docs/{ => platforms}/android.md (100%) rename docs/{ => platforms}/ios.md (100%) rename docs/{ => platforms}/linux.md (100%) rename docs/{ => platforms}/mac/bun.md (100%) rename docs/{ => platforms}/mac/canvas.md (100%) rename docs/{ => platforms}/mac/child-process.md (100%) rename docs/{ => platforms}/mac/dev-setup.md (100%) rename docs/{ => platforms}/mac/health.md (100%) rename docs/{ => platforms}/mac/icon.md (100%) rename docs/{ => platforms}/mac/logging.md (100%) rename docs/{ => platforms}/mac/menu-bar.md (100%) rename docs/{ => platforms}/mac/peekaboo.md (100%) rename docs/{ => platforms}/mac/permissions.md (100%) rename docs/{ => platforms}/mac/release.md (100%) rename docs/{ => platforms}/mac/remote.md (100%) rename docs/{ => platforms}/mac/signing.md (100%) rename docs/{ => platforms}/mac/skills.md (100%) rename docs/{ => platforms}/mac/voice-overlay.md (100%) rename docs/{ => platforms}/mac/voicewake.md (100%) rename docs/{ => platforms}/mac/webchat.md (100%) rename docs/{ => platforms}/mac/xpc.md (100%) rename docs/{ => platforms}/macos.md (100%) rename docs/{ => platforms}/windows.md (100%) rename docs/{ => providers}/discord.md (100%) rename docs/{ => providers}/grammy.md (100%) rename docs/{ => providers}/imessage.md (100%) rename docs/{ => providers}/location.md (100%) rename docs/{ => providers}/signal.md (100%) rename docs/{ => providers}/slack.md (100%) rename docs/{ => providers}/telegram.md (100%) rename docs/{ => providers}/whatsapp.md (100%) rename docs/{ => reference}/AGENTS.default.md (96%) rename docs/{ => reference}/RELEASING.md (100%) rename docs/{ => reference}/device-models.md (100%) rename docs/{ => reference}/rpc.md (100%) rename docs/{ => reference}/templates/AGENTS.md (100%) rename docs/{ => reference}/templates/BOOTSTRAP.md (100%) rename docs/{ => reference}/templates/HEARTBEAT.md (100%) rename docs/{ => reference}/templates/IDENTITY.md (100%) rename docs/{ => reference}/templates/SOUL.md (100%) rename docs/{ => reference}/templates/TOOLS.md (100%) rename docs/{ => reference}/templates/USER.md (100%) rename docs/{ => reference}/test.md (100%) rename docs/{ => start}/clawd.md (100%) rename docs/{ => start}/faq.md (100%) rename docs/{ => start}/getting-started.md (100%) create mode 100644 docs/start/hubs.md rename docs/{ => start}/lore.md (100%) rename docs/{ => start}/onboarding.md (100%) rename docs/{ => start}/pairing.md (100%) rename docs/{ => start}/setup.md (100%) rename docs/{ => start}/showcase.md (100%) rename docs/{ => start}/wizard.md (100%) rename docs/{ => tools}/agent-send.md (100%) rename docs/{ => tools}/bash.md (100%) rename docs/{ => tools}/browser-linux-troubleshooting.md (100%) rename docs/{ => tools}/browser.md (100%) rename docs/{ => tools}/clawdhub.md (100%) rename docs/{ => tools}/elevated.md (100%) rename docs/{tools.md => tools/index.md} (100%) rename docs/{ => tools}/skills-config.md (100%) rename docs/{ => tools}/skills.md (100%) rename docs/{ => tools}/slash-commands.md (100%) rename docs/{ => tools}/subagents.md (100%) rename docs/{ => tools}/thinking.md (100%) rename docs/{ => web}/control-ui.md (92%) rename docs/{ => web}/dashboard.md (52%) rename docs/{web.md => web/index.md} (78%) rename docs/{ => web}/tui.md (100%) rename docs/{ => web}/webchat.md (100%) diff --git a/docs/_config.yml b/docs/_config.yml index cf13847ad..b32025cad 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -23,29 +23,29 @@ nav: - title: "Home" url: "/" - title: "Clawd Setup" - url: "/clawd.html" + url: "/start/clawd/" - title: "Gateway" - url: "/gateway.html" + url: "/gateway/" - title: "Remote" - url: "/remote.html" + url: "/gateway/remote/" - title: "Discovery" - url: "/discovery.html" + url: "/gateway/discovery/" - title: "Configuration" - url: "/configuration.html" + url: "/gateway/configuration/" - title: "WebChat" - url: "/webchat.html" + url: "/web/webchat/" - title: "macOS App" - url: "/macos.html" + url: "/platforms/macos/" - title: "iOS App" - url: "/ios.html" + url: "/platforms/ios/" - title: "Android App" - url: "/android.html" + url: "/platforms/android/" - title: "Telegram" - url: "/telegram.html" + url: "/providers/telegram/" - title: "Security" - url: "/security.html" + url: "/gateway/security/" - title: "Troubleshooting" - url: "/troubleshooting.html" + url: "/gateway/troubleshooting/" kramdown: input: GFM diff --git a/docs/cron-jobs.md b/docs/automation/cron-jobs.md similarity index 100% rename from docs/cron-jobs.md rename to docs/automation/cron-jobs.md diff --git a/docs/gmail-pubsub.md b/docs/automation/gmail-pubsub.md similarity index 96% rename from docs/gmail-pubsub.md rename to docs/automation/gmail-pubsub.md index bc1384aed..4a79930b7 100644 --- a/docs/gmail-pubsub.md +++ b/docs/automation/gmail-pubsub.md @@ -13,7 +13,7 @@ Goal: Gmail watch -> Pub/Sub push -> `gog gmail watch serve` -> Clawdbot webhook - `gcloud` installed and logged in ([install guide](https://docs.cloud.google.com/sdk/docs/install-sdk)). - `gog` (gogcli) installed and authorized for the Gmail account ([gogcli.sh](https://gogcli.sh/)). -- Clawdbot hooks enabled (see [`docs/webhook.md`](/webhook)). +- Clawdbot hooks enabled (see [`docs/webhook.md`](https://docs.clawd.bot/automation/webhook)). - `tailscale` logged in ([tailscale.com](https://tailscale.com/)). Supported setup uses Tailscale Funnel for the public HTTPS endpoint. Other tunnel services can work, but are DIY/unsupported and require manual wiring. Right now, Tailscale is what we support. @@ -32,7 +32,7 @@ Example hook config (enable Gmail preset mapping): ``` To customize payload handling, add `hooks.mappings` or a JS/TS transform module -under `hooks.transformsDir` (see [`docs/webhook.md`](/webhook)). +under `hooks.transformsDir` (see [`docs/webhook.md`](https://docs.clawd.bot/automation/webhook)). ## Wizard (recommended) diff --git a/docs/poll.md b/docs/automation/poll.md similarity index 100% rename from docs/poll.md rename to docs/automation/poll.md diff --git a/docs/webhook.md b/docs/automation/webhook.md similarity index 96% rename from docs/webhook.md rename to docs/automation/webhook.md index d591892f2..2183f8a7c 100644 --- a/docs/webhook.md +++ b/docs/automation/webhook.md @@ -93,6 +93,7 @@ Mapping options (summary): - Use `match.source` to keep a generic ingest endpoint (payload-driven routing). - TS transforms require a TS loader (e.g. `bun`) or precompiled `.js` at runtime. - `clawdbot hooks gmail setup` writes `hooks.gmail` config for `clawdbot hooks gmail run`. +See [`docs/gmail-pubsub.md`](https://docs.clawd.bot/automation/gmail-pubsub) for the full Gmail watch flow. ## Responses diff --git a/docs/agent-loop.md b/docs/concepts/agent-loop.md similarity index 100% rename from docs/agent-loop.md rename to docs/concepts/agent-loop.md diff --git a/docs/agent-workspace.md b/docs/concepts/agent-workspace.md similarity index 100% rename from docs/agent-workspace.md rename to docs/concepts/agent-workspace.md diff --git a/docs/agent.md b/docs/concepts/agent.md similarity index 100% rename from docs/agent.md rename to docs/concepts/agent.md diff --git a/docs/architecture.md b/docs/concepts/architecture.md similarity index 100% rename from docs/architecture.md rename to docs/concepts/architecture.md diff --git a/docs/group-messages.md b/docs/concepts/group-messages.md similarity index 100% rename from docs/group-messages.md rename to docs/concepts/group-messages.md diff --git a/docs/groups.md b/docs/concepts/groups.md similarity index 100% rename from docs/groups.md rename to docs/concepts/groups.md diff --git a/docs/model-failover.md b/docs/concepts/model-failover.md similarity index 100% rename from docs/model-failover.md rename to docs/concepts/model-failover.md diff --git a/docs/models.md b/docs/concepts/models.md similarity index 100% rename from docs/models.md rename to docs/concepts/models.md diff --git a/docs/multi-agent.md b/docs/concepts/multi-agent.md similarity index 100% rename from docs/multi-agent.md rename to docs/concepts/multi-agent.md diff --git a/docs/presence.md b/docs/concepts/presence.md similarity index 100% rename from docs/presence.md rename to docs/concepts/presence.md diff --git a/docs/provider-routing.md b/docs/concepts/provider-routing.md similarity index 100% rename from docs/provider-routing.md rename to docs/concepts/provider-routing.md diff --git a/docs/queue.md b/docs/concepts/queue.md similarity index 100% rename from docs/queue.md rename to docs/concepts/queue.md diff --git a/docs/session-tool.md b/docs/concepts/session-tool.md similarity index 100% rename from docs/session-tool.md rename to docs/concepts/session-tool.md diff --git a/docs/session.md b/docs/concepts/session.md similarity index 100% rename from docs/session.md rename to docs/concepts/session.md diff --git a/docs/sessions.md b/docs/concepts/sessions.md similarity index 100% rename from docs/sessions.md rename to docs/concepts/sessions.md diff --git a/docs/timezone.md b/docs/concepts/timezone.md similarity index 100% rename from docs/timezone.md rename to docs/concepts/timezone.md diff --git a/docs/typebox.md b/docs/concepts/typebox.md similarity index 100% rename from docs/typebox.md rename to docs/concepts/typebox.md diff --git a/docs/docs.json b/docs/docs.json index 81e9c15ce..e29cfd9c3 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -36,6 +36,478 @@ { "source": "/model/", "destination": "/models" + }, + { + "source": "/AGENTS.default", + "destination": "/reference/AGENTS.default" + }, + { + "source": "/RELEASING", + "destination": "/reference/RELEASING" + }, + { + "source": "/agent", + "destination": "/concepts/agent" + }, + { + "source": "/agent-loop", + "destination": "/concepts/agent-loop" + }, + { + "source": "/agent-send", + "destination": "/tools/agent-send" + }, + { + "source": "/agent-workspace", + "destination": "/concepts/agent-workspace" + }, + { + "source": "/android", + "destination": "/platforms/android" + }, + { + "source": "/architecture", + "destination": "/concepts/architecture" + }, + { + "source": "/audio", + "destination": "/nodes/audio" + }, + { + "source": "/background-process", + "destination": "/gateway/background-process" + }, + { + "source": "/bash", + "destination": "/tools/bash" + }, + { + "source": "/bonjour", + "destination": "/gateway/bonjour" + }, + { + "source": "/browser", + "destination": "/tools/browser" + }, + { + "source": "/browser-linux-troubleshooting", + "destination": "/tools/browser-linux-troubleshooting" + }, + { + "source": "/bun", + "destination": "/install/bun" + }, + { + "source": "/camera", + "destination": "/nodes/camera" + }, + { + "source": "/clawd", + "destination": "/start/clawd" + }, + { + "source": "/clawdhub", + "destination": "/tools/clawdhub" + }, + { + "source": "/configuration", + "destination": "/gateway/configuration" + }, + { + "source": "/control-ui", + "destination": "/web/control-ui" + }, + { + "source": "/cron-jobs", + "destination": "/automation/cron-jobs" + }, + { + "source": "/dashboard", + "destination": "/web/dashboard" + }, + { + "source": "/device-models", + "destination": "/reference/device-models" + }, + { + "source": "/discord", + "destination": "/providers/discord" + }, + { + "source": "/discovery", + "destination": "/gateway/discovery" + }, + { + "source": "/docker", + "destination": "/install/docker" + }, + { + "source": "/doctor", + "destination": "/gateway/doctor" + }, + { + "source": "/elevated", + "destination": "/tools/elevated" + }, + { + "source": "/faq", + "destination": "/start/faq" + }, + { + "source": "/gateway-lock", + "destination": "/gateway/gateway-lock" + }, + { + "source": "/getting-started", + "destination": "/start/getting-started" + }, + { + "source": "/gmail-pubsub", + "destination": "/automation/gmail-pubsub" + }, + { + "source": "/grammy", + "destination": "/providers/grammy" + }, + { + "source": "/group-messages", + "destination": "/concepts/group-messages" + }, + { + "source": "/groups", + "destination": "/concepts/groups" + }, + { + "source": "/health", + "destination": "/gateway/health" + }, + { + "source": "/heartbeat", + "destination": "/gateway/heartbeat" + }, + { + "source": "/hubs", + "destination": "/start/hubs" + }, + { + "source": "/images", + "destination": "/nodes/images" + }, + { + "source": "/imessage", + "destination": "/providers/imessage" + }, + { + "source": "/ios", + "destination": "/platforms/ios" + }, + { + "source": "/linux", + "destination": "/platforms/linux" + }, + { + "source": "/location", + "destination": "/providers/location" + }, + { + "source": "/location-command", + "destination": "/nodes/location-command" + }, + { + "source": "/logging", + "destination": "/gateway/logging" + }, + { + "source": "/lore", + "destination": "/start/lore" + }, + { + "source": "/mac/bun", + "destination": "/platforms/mac/bun" + }, + { + "source": "/mac/canvas", + "destination": "/platforms/mac/canvas" + }, + { + "source": "/mac/child-process", + "destination": "/platforms/mac/child-process" + }, + { + "source": "/mac/dev-setup", + "destination": "/platforms/mac/dev-setup" + }, + { + "source": "/mac/health", + "destination": "/platforms/mac/health" + }, + { + "source": "/mac/icon", + "destination": "/platforms/mac/icon" + }, + { + "source": "/mac/logging", + "destination": "/platforms/mac/logging" + }, + { + "source": "/mac/menu-bar", + "destination": "/platforms/mac/menu-bar" + }, + { + "source": "/mac/peekaboo", + "destination": "/platforms/mac/peekaboo" + }, + { + "source": "/mac/permissions", + "destination": "/platforms/mac/permissions" + }, + { + "source": "/mac/release", + "destination": "/platforms/mac/release" + }, + { + "source": "/mac/remote", + "destination": "/platforms/mac/remote" + }, + { + "source": "/mac/signing", + "destination": "/platforms/mac/signing" + }, + { + "source": "/mac/skills", + "destination": "/platforms/mac/skills" + }, + { + "source": "/mac/voice-overlay", + "destination": "/platforms/mac/voice-overlay" + }, + { + "source": "/mac/voicewake", + "destination": "/platforms/mac/voicewake" + }, + { + "source": "/mac/webchat", + "destination": "/platforms/mac/webchat" + }, + { + "source": "/mac/xpc", + "destination": "/platforms/mac/xpc" + }, + { + "source": "/macos", + "destination": "/platforms/macos" + }, + { + "source": "/model-failover", + "destination": "/concepts/model-failover" + }, + { + "source": "/models", + "destination": "/concepts/models" + }, + { + "source": "/multi-agent", + "destination": "/concepts/multi-agent" + }, + { + "source": "/nix", + "destination": "/install/nix" + }, + { + "source": "/onboarding", + "destination": "/start/onboarding" + }, + { + "source": "/onboarding-config-protocol", + "destination": "/experiments/onboarding-config-protocol" + }, + { + "source": "/pairing", + "destination": "/start/pairing" + }, + { + "source": "/plans/cron-add-hardening", + "destination": "/experiments/plans/cron-add-hardening" + }, + { + "source": "/plans/group-policy-hardening", + "destination": "/experiments/plans/group-policy-hardening" + }, + { + "source": "/poll", + "destination": "/automation/poll" + }, + { + "source": "/presence", + "destination": "/concepts/presence" + }, + { + "source": "/proposals/model-config", + "destination": "/experiments/proposals/model-config" + }, + { + "source": "/provider-routing", + "destination": "/concepts/provider-routing" + }, + { + "source": "/queue", + "destination": "/concepts/queue" + }, + { + "source": "/remote", + "destination": "/gateway/remote" + }, + { + "source": "/remote-gateway-readme", + "destination": "/gateway/remote-gateway-readme" + }, + { + "source": "/research/memory", + "destination": "/experiments/research/memory" + }, + { + "source": "/rpc", + "destination": "/reference/rpc" + }, + { + "source": "/security", + "destination": "/gateway/security" + }, + { + "source": "/session", + "destination": "/concepts/session" + }, + { + "source": "/session-tool", + "destination": "/concepts/session-tool" + }, + { + "source": "/sessions", + "destination": "/concepts/sessions" + }, + { + "source": "/setup", + "destination": "/start/setup" + }, + { + "source": "/showcase", + "destination": "/start/showcase" + }, + { + "source": "/signal", + "destination": "/providers/signal" + }, + { + "source": "/skills", + "destination": "/tools/skills" + }, + { + "source": "/skills-config", + "destination": "/tools/skills-config" + }, + { + "source": "/slack", + "destination": "/providers/slack" + }, + { + "source": "/slash-commands", + "destination": "/tools/slash-commands" + }, + { + "source": "/subagents", + "destination": "/tools/subagents" + }, + { + "source": "/tailscale", + "destination": "/gateway/tailscale" + }, + { + "source": "/talk", + "destination": "/nodes/talk" + }, + { + "source": "/telegram", + "destination": "/providers/telegram" + }, + { + "source": "/templates/AGENTS", + "destination": "/reference/templates/AGENTS" + }, + { + "source": "/templates/BOOTSTRAP", + "destination": "/reference/templates/BOOTSTRAP" + }, + { + "source": "/templates/HEARTBEAT", + "destination": "/reference/templates/HEARTBEAT" + }, + { + "source": "/templates/IDENTITY", + "destination": "/reference/templates/IDENTITY" + }, + { + "source": "/templates/SOUL", + "destination": "/reference/templates/SOUL" + }, + { + "source": "/templates/TOOLS", + "destination": "/reference/templates/TOOLS" + }, + { + "source": "/templates/USER", + "destination": "/reference/templates/USER" + }, + { + "source": "/test", + "destination": "/reference/test" + }, + { + "source": "/thinking", + "destination": "/tools/thinking" + }, + { + "source": "/timezone", + "destination": "/concepts/timezone" + }, + { + "source": "/troubleshooting", + "destination": "/gateway/troubleshooting" + }, + { + "source": "/tui", + "destination": "/web/tui" + }, + { + "source": "/typebox", + "destination": "/concepts/typebox" + }, + { + "source": "/updating", + "destination": "/install/updating" + }, + { + "source": "/voicewake", + "destination": "/nodes/voicewake" + }, + { + "source": "/webchat", + "destination": "/web/webchat" + }, + { + "source": "/webhook", + "destination": "/automation/webhook" + }, + { + "source": "/whatsapp", + "destination": "/providers/whatsapp" + }, + { + "source": "/windows", + "destination": "/platforms/windows" + }, + { + "source": "/wizard", + "destination": "/start/wizard" } ], "navigation": { @@ -43,73 +515,185 @@ { "group": "Start Here", "pages": [ - "getting-started", - "wizard", "index", - "setup", - "pairing", - "faq", - "clawd", - "showcase", - "hubs", - "onboarding" + "start/getting-started", + "start/wizard", + "start/setup", + "start/pairing", + "start/faq", + "start/clawd", + "start/showcase", + "start/hubs", + "start/onboarding", + "start/lore" ] }, { - "group": "Install Options", + "group": "Install & Updates", "pages": [ - "nix", - "docker" + "install/updating", + "install/nix", + "install/docker", + "install/bun" ] }, { "group": "Core Concepts", "pages": [ - "architecture", - "agent", - "session", - "rpc", - "queue", - "tools" + "concepts/architecture", + "concepts/agent", + "concepts/agent-loop", + "concepts/agent-workspace", + "concepts/multi-agent", + "concepts/session", + "concepts/sessions", + "concepts/session-tool", + "concepts/presence", + "concepts/provider-routing", + "concepts/groups", + "concepts/group-messages", + "concepts/queue", + "concepts/models", + "concepts/model-failover", + "concepts/timezone", + "concepts/typebox" ] }, { - "group": "Gateway & Providers", + "group": "Gateway & Ops", "pages": [ "gateway", "gateway/pairing", - "whatsapp", - "telegram", - "discord", - "imessage", - "webhook", - "gmail-pubsub" + "gateway/gateway-lock", + "gateway/configuration", + "gateway/background-process", + "gateway/health", + "gateway/heartbeat", + "gateway/doctor", + "gateway/logging", + "gateway/security", + "gateway/troubleshooting", + "gateway/remote", + "gateway/remote-gateway-readme", + "gateway/discovery", + "gateway/bonjour", + "gateway/tailscale" + ] + }, + { + "group": "Web & Interfaces", + "pages": [ + "web", + "web/control-ui", + "web/dashboard", + "web/webchat", + "web/tui" + ] + }, + { + "group": "Providers", + "pages": [ + "providers/whatsapp", + "providers/telegram", + "providers/grammy", + "providers/discord", + "providers/slack", + "providers/signal", + "providers/imessage", + "providers/location" + ] + }, + { + "group": "Automation & Hooks", + "pages": [ + "automation/webhook", + "automation/gmail-pubsub", + "automation/cron-jobs", + "automation/poll" + ] + }, + { + "group": "Tools & Skills", + "pages": [ + "tools", + "tools/bash", + "tools/elevated", + "tools/browser", + "tools/browser-linux-troubleshooting", + "tools/slash-commands", + "tools/thinking", + "tools/agent-send", + "tools/subagents", + "tools/skills", + "tools/skills-config", + "tools/clawdhub" + ] + }, + { + "group": "Nodes & Media", + "pages": [ + "nodes", + "nodes/camera", + "nodes/images", + "nodes/audio", + "nodes/location-command", + "nodes/voicewake", + "nodes/talk" ] }, { "group": "Platforms", "pages": [ - "mac/dev-setup", - "mac/menu-bar", - "mac/voicewake", - "macos", - "ios", - "android", - "webchat", - "web" + "platforms/macos", + "platforms/mac/dev-setup", + "platforms/mac/menu-bar", + "platforms/mac/voicewake", + "platforms/mac/voice-overlay", + "platforms/mac/webchat", + "platforms/mac/canvas", + "platforms/mac/child-process", + "platforms/mac/health", + "platforms/mac/icon", + "platforms/mac/logging", + "platforms/mac/permissions", + "platforms/mac/remote", + "platforms/mac/signing", + "platforms/mac/release", + "platforms/mac/bun", + "platforms/mac/xpc", + "platforms/mac/skills", + "platforms/mac/peekaboo", + "platforms/ios", + "platforms/android", + "platforms/windows", + "platforms/linux" ] }, { - "group": "Operations", + "group": "Reference & Templates", "pages": [ - "doctor", - "troubleshooting", - "logging", - "security", - "health", - "background-process", - "gateway-lock", - "remote" + "reference/rpc", + "reference/device-models", + "reference/test", + "reference/RELEASING", + "reference/AGENTS.default", + "reference/templates/AGENTS", + "reference/templates/BOOTSTRAP", + "reference/templates/HEARTBEAT", + "reference/templates/IDENTITY", + "reference/templates/SOUL", + "reference/templates/TOOLS", + "reference/templates/USER" + ] + }, + { + "group": "Experiments & Proposals", + "pages": [ + "experiments/onboarding-config-protocol", + "experiments/plans/cron-add-hardening", + "experiments/plans/group-policy-hardening", + "experiments/proposals/model-config", + "experiments/research/memory" ] } ] diff --git a/docs/onboarding-config-protocol.md b/docs/experiments/onboarding-config-protocol.md similarity index 100% rename from docs/onboarding-config-protocol.md rename to docs/experiments/onboarding-config-protocol.md diff --git a/docs/plans/cron-add-hardening.md b/docs/experiments/plans/cron-add-hardening.md similarity index 100% rename from docs/plans/cron-add-hardening.md rename to docs/experiments/plans/cron-add-hardening.md diff --git a/docs/plans/group-policy-hardening.md b/docs/experiments/plans/group-policy-hardening.md similarity index 100% rename from docs/plans/group-policy-hardening.md rename to docs/experiments/plans/group-policy-hardening.md diff --git a/docs/proposals/model-config.md b/docs/experiments/proposals/model-config.md similarity index 100% rename from docs/proposals/model-config.md rename to docs/experiments/proposals/model-config.md diff --git a/docs/research/memory.md b/docs/experiments/research/memory.md similarity index 100% rename from docs/research/memory.md rename to docs/experiments/research/memory.md diff --git a/docs/background-process.md b/docs/gateway/background-process.md similarity index 100% rename from docs/background-process.md rename to docs/gateway/background-process.md diff --git a/docs/bonjour.md b/docs/gateway/bonjour.md similarity index 100% rename from docs/bonjour.md rename to docs/gateway/bonjour.md diff --git a/docs/configuration.md b/docs/gateway/configuration.md similarity index 100% rename from docs/configuration.md rename to docs/gateway/configuration.md diff --git a/docs/discovery.md b/docs/gateway/discovery.md similarity index 100% rename from docs/discovery.md rename to docs/gateway/discovery.md diff --git a/docs/doctor.md b/docs/gateway/doctor.md similarity index 100% rename from docs/doctor.md rename to docs/gateway/doctor.md diff --git a/docs/gateway-lock.md b/docs/gateway/gateway-lock.md similarity index 100% rename from docs/gateway-lock.md rename to docs/gateway/gateway-lock.md diff --git a/docs/health.md b/docs/gateway/health.md similarity index 100% rename from docs/health.md rename to docs/gateway/health.md diff --git a/docs/heartbeat.md b/docs/gateway/heartbeat.md similarity index 100% rename from docs/heartbeat.md rename to docs/gateway/heartbeat.md diff --git a/docs/gateway.md b/docs/gateway/index.md similarity index 100% rename from docs/gateway.md rename to docs/gateway/index.md diff --git a/docs/logging.md b/docs/gateway/logging.md similarity index 100% rename from docs/logging.md rename to docs/gateway/logging.md diff --git a/docs/remote-gateway-readme.md b/docs/gateway/remote-gateway-readme.md similarity index 100% rename from docs/remote-gateway-readme.md rename to docs/gateway/remote-gateway-readme.md diff --git a/docs/remote.md b/docs/gateway/remote.md similarity index 100% rename from docs/remote.md rename to docs/gateway/remote.md diff --git a/docs/security.md b/docs/gateway/security.md similarity index 100% rename from docs/security.md rename to docs/gateway/security.md diff --git a/docs/tailscale.md b/docs/gateway/tailscale.md similarity index 100% rename from docs/tailscale.md rename to docs/gateway/tailscale.md diff --git a/docs/troubleshooting.md b/docs/gateway/troubleshooting.md similarity index 100% rename from docs/troubleshooting.md rename to docs/gateway/troubleshooting.md diff --git a/docs/hubs.md b/docs/hubs.md deleted file mode 100644 index 00daa0482..000000000 --- a/docs/hubs.md +++ /dev/null @@ -1,152 +0,0 @@ ---- -summary: "Hubs that link to every Clawdbot doc" -read_when: - - You want a complete map of the documentation ---- -# Docs hubs - -Use these hubs to discover every page, including deep dives and reference docs that don’t appear in the left nav. - -## Start here - -- [Index](/) -- [Getting Started](/getting-started) -- [Onboarding](/onboarding) -- [Wizard](/wizard) -- [Setup](/setup) -- [FAQ](/faq) -- [Configuration](/configuration) -- [Clawd (personal assistant)](/clawd) -- [Lore](/lore) - -## Installation + distribution - -- [Docker](/docker) -- [Nix](/nix) - -## Core concepts - -- [Architecture](/architecture) -- [Agent runtime](/agent) -- [Agent workspace](/agent-workspace) -- [Agent loop](/agent-loop) -- [Multi-agent routing](/multi-agent) -- [Sessions](/session) -- [Sessions (alias)](/sessions) -- [Session tools](/session-tool) -- [Queue](/queue) -- [Slash commands](/slash-commands) -- [RPC adapters](/rpc) -- [TypeBox schemas](/typebox) -- [Presence](/presence) -- [Discovery + transports](/discovery) -- [Bonjour](/bonjour) -- [Provider routing](/provider-routing) -- [Groups](/groups) -- [Group messages](/group-messages) - -## Providers + ingress - -- [WhatsApp](/whatsapp) -- [Telegram](/telegram) -- [Telegram (grammY notes)](/grammy) -- [Slack](/slack) -- [Discord](/discord) -- [Signal](/signal) -- [iMessage](/imessage) -- [WebChat](/webchat) -- [Webhooks](/webhook) -- [Gmail Pub/Sub](/gmail-pubsub) - -## Gateway + operations - -- [Gateway runbook](/gateway) -- [Gateway pairing](/gateway/pairing) -- [Gateway lock](/gateway-lock) -- [Background process](/background-process) -- [Health](/health) -- [Heartbeat](/heartbeat) -- [Doctor](/doctor) -- [Logging](/logging) -- [Dashboard](/dashboard) -- [Control UI](/control-ui) -- [Remote access](/remote) -- [Remote gateway README](/remote-gateway-readme) -- [Tailscale](/tailscale) -- [Security](/security) -- [Troubleshooting](/troubleshooting) - -## Tools + automation - -- [Tools surface](/tools) -- [Bash tool](/bash) -- [Elevated mode](/elevated) -- [Cron jobs](/cron-jobs) -- [Thinking + verbose](/thinking) -- [Models](/models) -- [Agent send CLI](/agent-send) -- [Terminal UI](/tui) -- [Browser control](/browser) -- [Browser (Linux troubleshooting)](/browser-linux-troubleshooting) - -## Nodes, media, voice - -- [Nodes overview](/nodes) -- [Camera](/camera) -- [Images](/images) -- [Audio](/audio) -- [Location command](/location-command) -- [Voice wake](/voicewake) -- [Talk mode](/talk) - -## Platforms - -- [macOS app overview](/macos) -- [macOS dev setup](/mac/dev-setup) -- [macOS menu bar](/mac/menu-bar) -- [macOS voice wake](/mac/voicewake) -- [macOS voice overlay](/mac/voice-overlay) -- [macOS WebChat](/mac/webchat) -- [macOS Canvas](/mac/canvas) -- [macOS child process](/mac/child-process) -- [macOS health](/mac/health) -- [macOS icon](/mac/icon) -- [macOS logging](/mac/logging) -- [macOS permissions](/mac/permissions) -- [macOS remote](/mac/remote) -- [macOS signing](/mac/signing) -- [macOS release](/mac/release) -- [macOS bun gateway](/mac/bun) -- [macOS XPC](/mac/xpc) -- [macOS skills](/mac/skills) -- [macOS Peekaboo plan](/mac/peekaboo) -- [iOS node](/ios) -- [Android node](/android) -- [Windows app](/windows) -- [Linux app](/linux) -- [Web surfaces](/web) - -## Workspace + templates - -- [Skills](/skills) -- [ClawdHub](/clawdhub) -- [Skills config](/skills-config) -- [Default AGENTS](/AGENTS.default) -- [Templates: AGENTS](/templates/AGENTS) -- [Templates: BOOTSTRAP](/templates/BOOTSTRAP) -- [Templates: IDENTITY](/templates/IDENTITY) -- [Templates: SOUL](/templates/SOUL) -- [Templates: TOOLS](/templates/TOOLS) -- [Templates: USER](/templates/USER) - -## Experiments + proposals - -- [Onboarding config protocol](/onboarding-config-protocol) -- [Research: memory](/research/memory) -- [Proposal: model config](/proposals/model-config) - -## Testing + release - -- [Testing](/test) -- [Release checklist](/RELEASING) -- [Device models](/device-models) diff --git a/docs/index.md b/docs/index.md index f17f43e5c..c68393140 100644 --- a/docs/index.md +++ b/docs/index.md @@ -19,8 +19,8 @@ read_when:

GitHub · Releases · - Docs · - Clawd setup + Docs · + Clawd setup

CLAWDBOT bridges WhatsApp (via WhatsApp Web / Baileys), Telegram (Bot API / grammY), Discord (Bot API / discord.js), and iMessage (imsg CLI) to coding agents like [Pi](https://github.com/badlogic/pi-mono). @@ -28,8 +28,18 @@ It’s built for [Clawd](https://clawd.me), a space lobster who needed a TARDIS. ## Start here -- **New install from zero:** [Getting started](/getting-started) -- **Guided setup (recommended):** [Wizard](/wizard) (`clawdbot onboard`) +- **New install from zero:** https://docs.clawd.bot/start/getting-started +- **Guided setup (recommended):** https://docs.clawd.bot/start/wizard (`clawdbot onboard`) +- **Open the dashboard (local Gateway):** http://127.0.0.1:18789/ (or http://localhost:18789/) + +If the Gateway is running on the same computer, that link opens the browser Control UI +immediately. If it fails, start the Gateway first: `clawdbot gateway`. + +## Dashboard (browser Control UI) + +The dashboard is the browser Control UI for chat, config, nodes, sessions, and more. +Local default: http://127.0.0.1:18789/ +Remote access: https://docs.clawd.bot/web and https://docs.clawd.bot/gateway/tailscale ## How it works @@ -60,8 +70,8 @@ Most operations flow through the **Gateway** (`clawdbot gateway`), a single long - **Loopback-first**: Gateway WS defaults to `ws://127.0.0.1:18789`. - For Tailnet access, run `clawdbot gateway --bind tailnet --token ...` (token is required for non-loopback binds). - **Bridge for nodes**: optional LAN/tailnet-facing bridge on `tcp://0.0.0.0:18790` for paired nodes (Bonjour-discoverable). -- **Canvas host**: HTTP file server on `canvasHost.port` (default `18793`), serving `/__clawdbot__/canvas/` for node WebViews; see [`docs/configuration.md`](/configuration) (`canvasHost`). -- **Remote use**: SSH tunnel or tailnet/VPN; see [`docs/remote.md`](/remote) and [`docs/discovery.md`](/discovery). +- **Canvas host**: HTTP file server on `canvasHost.port` (default `18793`), serving `/__clawdbot__/canvas/` for node WebViews; see [`docs/configuration.md`](https://docs.clawd.bot/gateway/configuration) (`canvasHost`). +- **Remote use**: SSH tunnel or tailnet/VPN; see [`docs/remote.md`](https://docs.clawd.bot/gateway/remote) and [`docs/discovery.md`](https://docs.clawd.bot/gateway/discovery). ## Features (high level) @@ -135,45 +145,47 @@ Example: ## Docs - Start here: - - [Docs hubs (all pages linked)](/hubs) - - [FAQ](/faq) ← *common questions answered* - - [Configuration](/configuration) - - [Slash commands](/slash-commands) - - [Multi-agent routing](/multi-agent) - - [Updating / rollback](/updating) - - [Pairing (DM + nodes)](/pairing) - - [Nix mode](/nix) - - [Clawd personal assistant setup](/clawd) - - [Skills](/skills) - - [Skills config](/skills-config) - - [Workspace templates](/templates/AGENTS) - - [RPC adapters](/rpc) - - [Gateway runbook](/gateway) - - [Nodes (iOS/Android)](/nodes) - - [Web surfaces (Control UI)](/web) - - [Discovery + transports](/discovery) - - [Remote access](/remote) + - [Docs hubs (all pages linked)](https://docs.clawd.bot/start/hubs) + - [FAQ](https://docs.clawd.bot/start/faq) ← *common questions answered* + - [Configuration](https://docs.clawd.bot/gateway/configuration) + - [Slash commands](https://docs.clawd.bot/tools/slash-commands) + - [Multi-agent routing](https://docs.clawd.bot/concepts/multi-agent) + - [Updating / rollback](https://docs.clawd.bot/install/updating) + - [Pairing (DM + nodes)](https://docs.clawd.bot/start/pairing) + - [Nix mode](https://docs.clawd.bot/install/nix) + - [Clawd personal assistant setup](https://docs.clawd.bot/start/clawd) + - [Skills](https://docs.clawd.bot/tools/skills) + - [Skills config](https://docs.clawd.bot/tools/skills-config) + - [Workspace templates](https://docs.clawd.bot/reference/templates/AGENTS) + - [RPC adapters](https://docs.clawd.bot/reference/rpc) + - [Gateway runbook](https://docs.clawd.bot/gateway) + - [Nodes (iOS/Android)](https://docs.clawd.bot/nodes) + - [Web surfaces (Control UI)](https://docs.clawd.bot/web) + - [Discovery + transports](https://docs.clawd.bot/gateway/discovery) + - [Remote access](https://docs.clawd.bot/gateway/remote) - Providers and UX: - - [WebChat](/webchat) - - [Control UI (browser)](/control-ui) - - [Telegram](/telegram) - - [Discord](/discord) - - [iMessage](/imessage) - - [Groups](/groups) - - [WhatsApp group messages](/group-messages) - - [Media: images](/images) - - [Media: audio](/audio) + - [WebChat](https://docs.clawd.bot/web/webchat) + - [Control UI (browser)](https://docs.clawd.bot/web/control-ui) + - [Telegram](https://docs.clawd.bot/providers/telegram) + - [Discord](https://docs.clawd.bot/providers/discord) + - [iMessage](https://docs.clawd.bot/providers/imessage) + - [Groups](https://docs.clawd.bot/concepts/groups) + - [WhatsApp group messages](https://docs.clawd.bot/concepts/group-messages) + - [Media: images](https://docs.clawd.bot/nodes/images) + - [Media: audio](https://docs.clawd.bot/nodes/audio) - Companion apps: - - [macOS app](/macos) - - [iOS app](/ios) - - [Android app](/android) - - [Windows app](/windows) - - [Linux app](/linux) + - [macOS app](https://docs.clawd.bot/platforms/macos) + - [iOS app](https://docs.clawd.bot/platforms/ios) + - [Android app](https://docs.clawd.bot/platforms/android) + - [Windows app](https://docs.clawd.bot/platforms/windows) + - [Linux app](https://docs.clawd.bot/platforms/linux) - Ops and safety: - - [Sessions](/session) - - [Cron jobs](/cron-jobs) - - [Security](/security) - - [Troubleshooting](/troubleshooting) + - [Sessions](https://docs.clawd.bot/concepts/session) + - [Cron jobs](https://docs.clawd.bot/automation/cron-jobs) + - [Webhooks](https://docs.clawd.bot/automation/webhook) + - [Gmail hooks (Pub/Sub)](https://docs.clawd.bot/automation/gmail-pubsub) + - [Security](https://docs.clawd.bot/gateway/security) + - [Troubleshooting](https://docs.clawd.bot/gateway/troubleshooting) ## The name diff --git a/docs/bun.md b/docs/install/bun.md similarity index 100% rename from docs/bun.md rename to docs/install/bun.md diff --git a/docs/docker.md b/docs/install/docker.md similarity index 100% rename from docs/docker.md rename to docs/install/docker.md diff --git a/docs/nix.md b/docs/install/nix.md similarity index 100% rename from docs/nix.md rename to docs/install/nix.md diff --git a/docs/updating.md b/docs/install/updating.md similarity index 100% rename from docs/updating.md rename to docs/install/updating.md diff --git a/docs/audio.md b/docs/nodes/audio.md similarity index 100% rename from docs/audio.md rename to docs/nodes/audio.md diff --git a/docs/camera.md b/docs/nodes/camera.md similarity index 100% rename from docs/camera.md rename to docs/nodes/camera.md diff --git a/docs/images.md b/docs/nodes/images.md similarity index 100% rename from docs/images.md rename to docs/nodes/images.md diff --git a/docs/nodes.md b/docs/nodes/index.md similarity index 100% rename from docs/nodes.md rename to docs/nodes/index.md diff --git a/docs/location-command.md b/docs/nodes/location-command.md similarity index 100% rename from docs/location-command.md rename to docs/nodes/location-command.md diff --git a/docs/talk.md b/docs/nodes/talk.md similarity index 100% rename from docs/talk.md rename to docs/nodes/talk.md diff --git a/docs/voicewake.md b/docs/nodes/voicewake.md similarity index 100% rename from docs/voicewake.md rename to docs/nodes/voicewake.md diff --git a/docs/android.md b/docs/platforms/android.md similarity index 100% rename from docs/android.md rename to docs/platforms/android.md diff --git a/docs/ios.md b/docs/platforms/ios.md similarity index 100% rename from docs/ios.md rename to docs/platforms/ios.md diff --git a/docs/linux.md b/docs/platforms/linux.md similarity index 100% rename from docs/linux.md rename to docs/platforms/linux.md diff --git a/docs/mac/bun.md b/docs/platforms/mac/bun.md similarity index 100% rename from docs/mac/bun.md rename to docs/platforms/mac/bun.md diff --git a/docs/mac/canvas.md b/docs/platforms/mac/canvas.md similarity index 100% rename from docs/mac/canvas.md rename to docs/platforms/mac/canvas.md diff --git a/docs/mac/child-process.md b/docs/platforms/mac/child-process.md similarity index 100% rename from docs/mac/child-process.md rename to docs/platforms/mac/child-process.md diff --git a/docs/mac/dev-setup.md b/docs/platforms/mac/dev-setup.md similarity index 100% rename from docs/mac/dev-setup.md rename to docs/platforms/mac/dev-setup.md diff --git a/docs/mac/health.md b/docs/platforms/mac/health.md similarity index 100% rename from docs/mac/health.md rename to docs/platforms/mac/health.md diff --git a/docs/mac/icon.md b/docs/platforms/mac/icon.md similarity index 100% rename from docs/mac/icon.md rename to docs/platforms/mac/icon.md diff --git a/docs/mac/logging.md b/docs/platforms/mac/logging.md similarity index 100% rename from docs/mac/logging.md rename to docs/platforms/mac/logging.md diff --git a/docs/mac/menu-bar.md b/docs/platforms/mac/menu-bar.md similarity index 100% rename from docs/mac/menu-bar.md rename to docs/platforms/mac/menu-bar.md diff --git a/docs/mac/peekaboo.md b/docs/platforms/mac/peekaboo.md similarity index 100% rename from docs/mac/peekaboo.md rename to docs/platforms/mac/peekaboo.md diff --git a/docs/mac/permissions.md b/docs/platforms/mac/permissions.md similarity index 100% rename from docs/mac/permissions.md rename to docs/platforms/mac/permissions.md diff --git a/docs/mac/release.md b/docs/platforms/mac/release.md similarity index 100% rename from docs/mac/release.md rename to docs/platforms/mac/release.md diff --git a/docs/mac/remote.md b/docs/platforms/mac/remote.md similarity index 100% rename from docs/mac/remote.md rename to docs/platforms/mac/remote.md diff --git a/docs/mac/signing.md b/docs/platforms/mac/signing.md similarity index 100% rename from docs/mac/signing.md rename to docs/platforms/mac/signing.md diff --git a/docs/mac/skills.md b/docs/platforms/mac/skills.md similarity index 100% rename from docs/mac/skills.md rename to docs/platforms/mac/skills.md diff --git a/docs/mac/voice-overlay.md b/docs/platforms/mac/voice-overlay.md similarity index 100% rename from docs/mac/voice-overlay.md rename to docs/platforms/mac/voice-overlay.md diff --git a/docs/mac/voicewake.md b/docs/platforms/mac/voicewake.md similarity index 100% rename from docs/mac/voicewake.md rename to docs/platforms/mac/voicewake.md diff --git a/docs/mac/webchat.md b/docs/platforms/mac/webchat.md similarity index 100% rename from docs/mac/webchat.md rename to docs/platforms/mac/webchat.md diff --git a/docs/mac/xpc.md b/docs/platforms/mac/xpc.md similarity index 100% rename from docs/mac/xpc.md rename to docs/platforms/mac/xpc.md diff --git a/docs/macos.md b/docs/platforms/macos.md similarity index 100% rename from docs/macos.md rename to docs/platforms/macos.md diff --git a/docs/windows.md b/docs/platforms/windows.md similarity index 100% rename from docs/windows.md rename to docs/platforms/windows.md diff --git a/docs/discord.md b/docs/providers/discord.md similarity index 100% rename from docs/discord.md rename to docs/providers/discord.md diff --git a/docs/grammy.md b/docs/providers/grammy.md similarity index 100% rename from docs/grammy.md rename to docs/providers/grammy.md diff --git a/docs/imessage.md b/docs/providers/imessage.md similarity index 100% rename from docs/imessage.md rename to docs/providers/imessage.md diff --git a/docs/location.md b/docs/providers/location.md similarity index 100% rename from docs/location.md rename to docs/providers/location.md diff --git a/docs/signal.md b/docs/providers/signal.md similarity index 100% rename from docs/signal.md rename to docs/providers/signal.md diff --git a/docs/slack.md b/docs/providers/slack.md similarity index 100% rename from docs/slack.md rename to docs/providers/slack.md diff --git a/docs/telegram.md b/docs/providers/telegram.md similarity index 100% rename from docs/telegram.md rename to docs/providers/telegram.md diff --git a/docs/whatsapp.md b/docs/providers/whatsapp.md similarity index 100% rename from docs/whatsapp.md rename to docs/providers/whatsapp.md diff --git a/docs/AGENTS.default.md b/docs/reference/AGENTS.default.md similarity index 96% rename from docs/AGENTS.default.md rename to docs/reference/AGENTS.default.md index e60a3a7b0..a7d33f0bd 100644 --- a/docs/AGENTS.default.md +++ b/docs/reference/AGENTS.default.md @@ -19,15 +19,15 @@ mkdir -p ~/clawd 2) Copy the default workspace templates into the workspace: ```bash -cp docs/templates/AGENTS.md ~/clawd/AGENTS.md -cp docs/templates/SOUL.md ~/clawd/SOUL.md -cp docs/templates/TOOLS.md ~/clawd/TOOLS.md +cp docs/reference/templates/AGENTS.md ~/clawd/AGENTS.md +cp docs/reference/templates/SOUL.md ~/clawd/SOUL.md +cp docs/reference/templates/TOOLS.md ~/clawd/TOOLS.md ``` 3) Optional: if you want the personal assistant skill roster, replace AGENTS.md with this file: ```bash -cp docs/AGENTS.default.md ~/clawd/AGENTS.md +cp docs/reference/AGENTS.default.md ~/clawd/AGENTS.md ``` 4) Optional: choose a different workspace by setting `agent.workspace` (supports `~`): diff --git a/docs/RELEASING.md b/docs/reference/RELEASING.md similarity index 100% rename from docs/RELEASING.md rename to docs/reference/RELEASING.md diff --git a/docs/device-models.md b/docs/reference/device-models.md similarity index 100% rename from docs/device-models.md rename to docs/reference/device-models.md diff --git a/docs/rpc.md b/docs/reference/rpc.md similarity index 100% rename from docs/rpc.md rename to docs/reference/rpc.md diff --git a/docs/templates/AGENTS.md b/docs/reference/templates/AGENTS.md similarity index 100% rename from docs/templates/AGENTS.md rename to docs/reference/templates/AGENTS.md diff --git a/docs/templates/BOOTSTRAP.md b/docs/reference/templates/BOOTSTRAP.md similarity index 100% rename from docs/templates/BOOTSTRAP.md rename to docs/reference/templates/BOOTSTRAP.md diff --git a/docs/templates/HEARTBEAT.md b/docs/reference/templates/HEARTBEAT.md similarity index 100% rename from docs/templates/HEARTBEAT.md rename to docs/reference/templates/HEARTBEAT.md diff --git a/docs/templates/IDENTITY.md b/docs/reference/templates/IDENTITY.md similarity index 100% rename from docs/templates/IDENTITY.md rename to docs/reference/templates/IDENTITY.md diff --git a/docs/templates/SOUL.md b/docs/reference/templates/SOUL.md similarity index 100% rename from docs/templates/SOUL.md rename to docs/reference/templates/SOUL.md diff --git a/docs/templates/TOOLS.md b/docs/reference/templates/TOOLS.md similarity index 100% rename from docs/templates/TOOLS.md rename to docs/reference/templates/TOOLS.md diff --git a/docs/templates/USER.md b/docs/reference/templates/USER.md similarity index 100% rename from docs/templates/USER.md rename to docs/reference/templates/USER.md diff --git a/docs/test.md b/docs/reference/test.md similarity index 100% rename from docs/test.md rename to docs/reference/test.md diff --git a/docs/clawd.md b/docs/start/clawd.md similarity index 100% rename from docs/clawd.md rename to docs/start/clawd.md diff --git a/docs/faq.md b/docs/start/faq.md similarity index 100% rename from docs/faq.md rename to docs/start/faq.md diff --git a/docs/getting-started.md b/docs/start/getting-started.md similarity index 100% rename from docs/getting-started.md rename to docs/start/getting-started.md diff --git a/docs/start/hubs.md b/docs/start/hubs.md new file mode 100644 index 000000000..14b15bdc7 --- /dev/null +++ b/docs/start/hubs.md @@ -0,0 +1,164 @@ +--- +summary: "Hubs that link to every Clawdbot doc" +read_when: + - You want a complete map of the documentation +--- +# Docs hubs + +Use these hubs to discover every page, including deep dives and reference docs that don’t appear in the left nav. + +## Start here + +- [Index](https://docs.clawd.bot) +- [Getting Started](https://docs.clawd.bot/start/getting-started) +- [Onboarding](https://docs.clawd.bot/start/onboarding) +- [Wizard](https://docs.clawd.bot/start/wizard) +- [Setup](https://docs.clawd.bot/start/setup) +- [Dashboard (local Gateway)](http://127.0.0.1:18789/) +- [FAQ](https://docs.clawd.bot/start/faq) +- [Configuration](https://docs.clawd.bot/gateway/configuration) +- [Clawd (personal assistant)](https://docs.clawd.bot/start/clawd) +- [Showcase](https://docs.clawd.bot/start/showcase) +- [Lore](https://docs.clawd.bot/start/lore) + +## Installation + updates + +- [Docker](https://docs.clawd.bot/install/docker) +- [Nix](https://docs.clawd.bot/install/nix) +- [Updating / rollback](https://docs.clawd.bot/install/updating) +- [Bun workflow](https://docs.clawd.bot/install/bun) + +## Core concepts + +- [Architecture](https://docs.clawd.bot/concepts/architecture) +- [Agent runtime](https://docs.clawd.bot/concepts/agent) +- [Agent workspace](https://docs.clawd.bot/concepts/agent-workspace) +- [Agent loop](https://docs.clawd.bot/concepts/agent-loop) +- [Multi-agent routing](https://docs.clawd.bot/concepts/multi-agent) +- [Sessions](https://docs.clawd.bot/concepts/session) +- [Sessions (alias)](https://docs.clawd.bot/concepts/sessions) +- [Session tools](https://docs.clawd.bot/concepts/session-tool) +- [Queue](https://docs.clawd.bot/concepts/queue) +- [Slash commands](https://docs.clawd.bot/tools/slash-commands) +- [RPC adapters](https://docs.clawd.bot/reference/rpc) +- [TypeBox schemas](https://docs.clawd.bot/concepts/typebox) +- [Timezone handling](https://docs.clawd.bot/concepts/timezone) +- [Presence](https://docs.clawd.bot/concepts/presence) +- [Discovery + transports](https://docs.clawd.bot/gateway/discovery) +- [Bonjour](https://docs.clawd.bot/gateway/bonjour) +- [Provider routing](https://docs.clawd.bot/concepts/provider-routing) +- [Groups](https://docs.clawd.bot/concepts/groups) +- [Group messages](https://docs.clawd.bot/concepts/group-messages) +- [Model failover](https://docs.clawd.bot/concepts/model-failover) + +## Providers + ingress + +- [WhatsApp](https://docs.clawd.bot/providers/whatsapp) +- [Telegram](https://docs.clawd.bot/providers/telegram) +- [Telegram (grammY notes)](https://docs.clawd.bot/providers/grammy) +- [Slack](https://docs.clawd.bot/providers/slack) +- [Discord](https://docs.clawd.bot/providers/discord) +- [Signal](https://docs.clawd.bot/providers/signal) +- [iMessage](https://docs.clawd.bot/providers/imessage) +- [Location parsing](https://docs.clawd.bot/providers/location) +- [WebChat](https://docs.clawd.bot/web/webchat) +- [Webhooks](https://docs.clawd.bot/automation/webhook) +- [Gmail Pub/Sub](https://docs.clawd.bot/automation/gmail-pubsub) + +## Gateway + operations + +- [Gateway runbook](https://docs.clawd.bot/gateway) +- [Gateway pairing](https://docs.clawd.bot/gateway/pairing) +- [Gateway lock](https://docs.clawd.bot/gateway/gateway-lock) +- [Background process](https://docs.clawd.bot/gateway/background-process) +- [Health](https://docs.clawd.bot/gateway/health) +- [Heartbeat](https://docs.clawd.bot/gateway/heartbeat) +- [Doctor](https://docs.clawd.bot/gateway/doctor) +- [Logging](https://docs.clawd.bot/gateway/logging) +- [Dashboard](https://docs.clawd.bot/web/dashboard) +- [Control UI](https://docs.clawd.bot/web/control-ui) +- [Remote access](https://docs.clawd.bot/gateway/remote) +- [Remote gateway README](https://docs.clawd.bot/gateway/remote-gateway-readme) +- [Tailscale](https://docs.clawd.bot/gateway/tailscale) +- [Security](https://docs.clawd.bot/gateway/security) +- [Troubleshooting](https://docs.clawd.bot/gateway/troubleshooting) + +## Tools + automation + +- [Tools surface](https://docs.clawd.bot/tools) +- [Bash tool](https://docs.clawd.bot/tools/bash) +- [Elevated mode](https://docs.clawd.bot/tools/elevated) +- [Cron jobs](https://docs.clawd.bot/automation/cron-jobs) +- [Thinking + verbose](https://docs.clawd.bot/tools/thinking) +- [Models](https://docs.clawd.bot/concepts/models) +- [Sub-agents](https://docs.clawd.bot/tools/subagents) +- [Agent send CLI](https://docs.clawd.bot/tools/agent-send) +- [Terminal UI](https://docs.clawd.bot/web/tui) +- [Browser control](https://docs.clawd.bot/tools/browser) +- [Browser (Linux troubleshooting)](https://docs.clawd.bot/tools/browser-linux-troubleshooting) +- [Polls](https://docs.clawd.bot/automation/poll) + +## Nodes, media, voice + +- [Nodes overview](https://docs.clawd.bot/nodes) +- [Camera](https://docs.clawd.bot/nodes/camera) +- [Images](https://docs.clawd.bot/nodes/images) +- [Audio](https://docs.clawd.bot/nodes/audio) +- [Location command](https://docs.clawd.bot/nodes/location-command) +- [Voice wake](https://docs.clawd.bot/nodes/voicewake) +- [Talk mode](https://docs.clawd.bot/nodes/talk) + +## Platforms + +- [macOS app overview](https://docs.clawd.bot/platforms/macos) +- [macOS dev setup](https://docs.clawd.bot/platforms/mac/dev-setup) +- [macOS menu bar](https://docs.clawd.bot/platforms/mac/menu-bar) +- [macOS voice wake](https://docs.clawd.bot/platforms/mac/voicewake) +- [macOS voice overlay](https://docs.clawd.bot/platforms/mac/voice-overlay) +- [macOS WebChat](https://docs.clawd.bot/platforms/mac/webchat) +- [macOS Canvas](https://docs.clawd.bot/platforms/mac/canvas) +- [macOS child process](https://docs.clawd.bot/platforms/mac/child-process) +- [macOS health](https://docs.clawd.bot/platforms/mac/health) +- [macOS icon](https://docs.clawd.bot/platforms/mac/icon) +- [macOS logging](https://docs.clawd.bot/platforms/mac/logging) +- [macOS permissions](https://docs.clawd.bot/platforms/mac/permissions) +- [macOS remote](https://docs.clawd.bot/platforms/mac/remote) +- [macOS signing](https://docs.clawd.bot/platforms/mac/signing) +- [macOS release](https://docs.clawd.bot/platforms/mac/release) +- [macOS bun gateway](https://docs.clawd.bot/platforms/mac/bun) +- [macOS XPC](https://docs.clawd.bot/platforms/mac/xpc) +- [macOS skills](https://docs.clawd.bot/platforms/mac/skills) +- [macOS Peekaboo plan](https://docs.clawd.bot/platforms/mac/peekaboo) +- [iOS node](https://docs.clawd.bot/platforms/ios) +- [Android node](https://docs.clawd.bot/platforms/android) +- [Windows app](https://docs.clawd.bot/platforms/windows) +- [Linux app](https://docs.clawd.bot/platforms/linux) +- [Web surfaces](https://docs.clawd.bot/web) + +## Workspace + templates + +- [Skills](https://docs.clawd.bot/tools/skills) +- [ClawdHub](https://docs.clawd.bot/tools/clawdhub) +- [Skills config](https://docs.clawd.bot/tools/skills-config) +- [Default AGENTS](https://docs.clawd.bot/reference/AGENTS.default) +- [Templates: AGENTS](https://docs.clawd.bot/reference/templates/AGENTS) +- [Templates: BOOTSTRAP](https://docs.clawd.bot/reference/templates/BOOTSTRAP) +- [Templates: HEARTBEAT](https://docs.clawd.bot/reference/templates/HEARTBEAT) +- [Templates: IDENTITY](https://docs.clawd.bot/reference/templates/IDENTITY) +- [Templates: SOUL](https://docs.clawd.bot/reference/templates/SOUL) +- [Templates: TOOLS](https://docs.clawd.bot/reference/templates/TOOLS) +- [Templates: USER](https://docs.clawd.bot/reference/templates/USER) + +## Experiments + proposals + +- [Onboarding config protocol](https://docs.clawd.bot/experiments/onboarding-config-protocol) +- [Plan: cron hardening](https://docs.clawd.bot/experiments/plans/cron-add-hardening) +- [Plan: group policy hardening](https://docs.clawd.bot/experiments/plans/group-policy-hardening) +- [Research: memory](https://docs.clawd.bot/experiments/research/memory) +- [Proposal: model config](https://docs.clawd.bot/experiments/proposals/model-config) + +## Testing + release + +- [Testing](https://docs.clawd.bot/reference/test) +- [Release checklist](https://docs.clawd.bot/reference/RELEASING) +- [Device models](https://docs.clawd.bot/reference/device-models) diff --git a/docs/lore.md b/docs/start/lore.md similarity index 100% rename from docs/lore.md rename to docs/start/lore.md diff --git a/docs/onboarding.md b/docs/start/onboarding.md similarity index 100% rename from docs/onboarding.md rename to docs/start/onboarding.md diff --git a/docs/pairing.md b/docs/start/pairing.md similarity index 100% rename from docs/pairing.md rename to docs/start/pairing.md diff --git a/docs/setup.md b/docs/start/setup.md similarity index 100% rename from docs/setup.md rename to docs/start/setup.md diff --git a/docs/showcase.md b/docs/start/showcase.md similarity index 100% rename from docs/showcase.md rename to docs/start/showcase.md diff --git a/docs/wizard.md b/docs/start/wizard.md similarity index 100% rename from docs/wizard.md rename to docs/start/wizard.md diff --git a/docs/agent-send.md b/docs/tools/agent-send.md similarity index 100% rename from docs/agent-send.md rename to docs/tools/agent-send.md diff --git a/docs/bash.md b/docs/tools/bash.md similarity index 100% rename from docs/bash.md rename to docs/tools/bash.md diff --git a/docs/browser-linux-troubleshooting.md b/docs/tools/browser-linux-troubleshooting.md similarity index 100% rename from docs/browser-linux-troubleshooting.md rename to docs/tools/browser-linux-troubleshooting.md diff --git a/docs/browser.md b/docs/tools/browser.md similarity index 100% rename from docs/browser.md rename to docs/tools/browser.md diff --git a/docs/clawdhub.md b/docs/tools/clawdhub.md similarity index 100% rename from docs/clawdhub.md rename to docs/tools/clawdhub.md diff --git a/docs/elevated.md b/docs/tools/elevated.md similarity index 100% rename from docs/elevated.md rename to docs/tools/elevated.md diff --git a/docs/tools.md b/docs/tools/index.md similarity index 100% rename from docs/tools.md rename to docs/tools/index.md diff --git a/docs/skills-config.md b/docs/tools/skills-config.md similarity index 100% rename from docs/skills-config.md rename to docs/tools/skills-config.md diff --git a/docs/skills.md b/docs/tools/skills.md similarity index 100% rename from docs/skills.md rename to docs/tools/skills.md diff --git a/docs/slash-commands.md b/docs/tools/slash-commands.md similarity index 100% rename from docs/slash-commands.md rename to docs/tools/slash-commands.md diff --git a/docs/subagents.md b/docs/tools/subagents.md similarity index 100% rename from docs/subagents.md rename to docs/tools/subagents.md diff --git a/docs/thinking.md b/docs/tools/thinking.md similarity index 100% rename from docs/thinking.md rename to docs/tools/thinking.md diff --git a/docs/control-ui.md b/docs/web/control-ui.md similarity index 92% rename from docs/control-ui.md rename to docs/web/control-ui.md index 0e4fe0c32..e01a8d1d8 100644 --- a/docs/control-ui.md +++ b/docs/web/control-ui.md @@ -13,6 +13,14 @@ The Control UI is a small **Vite + Lit** single-page app served by the Gateway: It speaks **directly to the Gateway WebSocket** on the same port. +## Quick open (local) + +If the Gateway is running on the same computer, open: + +- http://127.0.0.1:18789/ (or http://localhost:18789/) + +If the page fails to load, start the Gateway first: `clawdbot gateway`. + Auth is supplied during the WebSocket handshake via: - `connect.params.auth.token` - `connect.params.auth.password` diff --git a/docs/dashboard.md b/docs/web/dashboard.md similarity index 52% rename from docs/dashboard.md rename to docs/web/dashboard.md index 28b208db5..b0fe952d6 100644 --- a/docs/dashboard.md +++ b/docs/web/dashboard.md @@ -8,10 +8,13 @@ read_when: The Gateway dashboard is the browser Control UI served at `/` by default (override with `gateway.controlUi.basePath`). +Quick open (local Gateway): +- http://127.0.0.1:18789/ (or http://localhost:18789/) + Key references: -- [`docs/control-ui.md`](/control-ui) for usage and UI capabilities. -- [`docs/tailscale.md`](/tailscale) for Serve/Funnel automation. -- [`docs/web.md`](/web) for bind modes and security notes. +- [`docs/control-ui.md`](https://docs.clawd.bot/web/control-ui) for usage and UI capabilities. +- [`docs/tailscale.md`](https://docs.clawd.bot/gateway/tailscale) for Serve/Funnel automation. +- [`docs/web.md`](https://docs.clawd.bot/web) for bind modes and security notes. Authentication is enforced at the WebSocket handshake via `connect.params.auth` -(token or password). See `gateway.auth` in [`docs/configuration.md`](/configuration). +(token or password). See `gateway.auth` in [`docs/configuration.md`](https://docs.clawd.bot/gateway/configuration). diff --git a/docs/web.md b/docs/web/index.md similarity index 78% rename from docs/web.md rename to docs/web/index.md index c61efc4cf..5f678a24d 100644 --- a/docs/web.md +++ b/docs/web/index.md @@ -11,22 +11,13 @@ The Gateway serves a small **browser Control UI** (Vite + Lit) from the same por - default: `http://:18789/` - optional prefix: set `gateway.controlUi.basePath` (e.g. `/clawdbot`) -The UI talks directly to the Gateway WS and supports: -- Chat (`chat.history`, `chat.send`, `chat.abort`) -- Chat tool cards (agent tool events) -- Connections (provider status, WhatsApp QR, Telegram config) -- Instances (`system-presence`) -- Sessions (`sessions.list`, `sessions.patch`) -- Cron (`cron.*`) -- Skills (`skills.status`, `skills.update`, `skills.install`) -- Nodes (`node.list`, `node.describe`, `node.invoke`) -- Config (`config.get`, `config.set`) for `~/.clawdbot/clawdbot.json` -- Debug (status/health/models snapshots + manual calls) +Capabilities live in [`docs/control-ui.md`](https://docs.clawd.bot/web/control-ui). +This page focuses on bind modes, security, and web-facing surfaces. ## Webhooks When `hooks.enabled=true`, the Gateway also exposes a small webhook endpoint on the same HTTP server. -See [`docs/configuration.md`](/configuration) → `hooks` for auth + payloads. +See [`docs/configuration.md`](https://docs.clawd.bot/gateway/configuration) → `hooks` for auth + payloads. ## Config (default-on) diff --git a/docs/tui.md b/docs/web/tui.md similarity index 100% rename from docs/tui.md rename to docs/web/tui.md diff --git a/docs/webchat.md b/docs/web/webchat.md similarity index 100% rename from docs/webchat.md rename to docs/web/webchat.md