CoClaw is a community-driven support platform for OpenClaw (formerly ClawDBot) — guides, troubleshooting, and tools.
Live site: https://coclaw.com
If you want to help maintain CoClaw, please jump in with issues/PRs. Feature ideas and content improvements are especially welcome.
- Framework: Astro 5.x (Static Site Generator)
- UI Components: HeroUI (NextUI) + React
- Styling: Tailwind CSS 4
- Package Manager: pnpm
- Language: TypeScript (strict mode)
- Search: Pagefind (client-side search)
- Content: MDX with Content Collections
- Guides & docs:
src/content/**(MDX) - Troubleshooting KB:
src/content/troubleshooting/** - Tools: interactive pages in
src/pages/tools/**(and related components insrc/components/**) - OpenClaw issue mirror (optional):
pnpm sync:issueswrites tosrc/data/openclaw/openclaw-issues.json
- Feature requests / bugs: open a GitHub Issue (include screenshots, URLs, repro steps)
- Docs/content: edit or add MDX in
src/content/** - UI/UX: Astro pages in
src/pages/**, components insrc/components/** - Small PRs welcome: typo fixes, clarity improvements, new screenshots, better examples
- More details: see
CONTRIBUTING.md
Development notes:
- Keep changes focused and easy to review
- Run
pnpm lintandpnpm format:checkbefore opening a PR - If you’re adding content, keep URLs stable and titles/descriptions SEO-friendly
- Node.js 22 or higher
- pnpm (installed globally)
pnpm installpnpm devThe site will be available at http://localhost:4321/
pnpm buildThis will build the Astro site to dist/ and generate the Pagefind search index.
pnpm previewpnpm dev- Start development serverpnpm build- Build for production (includes Pagefind indexing)pnpm preview- Preview production build locallypnpm lint- Run ESLintpnpm lint:fix- Fix ESLint errors automaticallypnpm format- Format code with Prettierpnpm format:check- Check code formattingpnpm tokens:check- Validate required design tokenspnpm sync:issues- (Optional) sync OpenClaw issues into local JSON for the site
CoClaw/
├── src/
│ ├── content/ # Content Collections (MDX files)
│ │ ├── getting-started/ # Installation guides
│ │ ├── channels/ # Channel setup guides
│ │ ├── troubleshooting/ # Error solutions
│ │ ├── guides/ # Advanced guides
│ │ ├── blog/ # Blog posts
│ │ └── templates/ # Config templates
│ ├── components/ # React/Astro components
│ │ ├── SEO/ # SEO components
│ │ └── ConfigGenerator/ # Config generator tool
│ ├── layouts/ # Page layouts
│ │ ├── BaseLayout.astro
│ │ ├── DocsLayout.astro
│ │ └── BlogLayout.astro
│ ├── pages/ # Routes
│ │ ├── index.astro # Homepage
│ │ └── [...slug].astro # Dynamic routes
│ └── styles/ # Global styles
│ └── global.css
├── public/ # Static assets
├── docs/ # Project documentation
│ └── PRD-CoClaw-Website.md
├── astro.config.mjs # Astro configuration
├── tsconfig.json # TypeScript configuration
├── wrangler.toml # Cloudflare Pages config
└── package.json
- Create a new
.mdxfile in the appropriatesrc/content/subdirectory - Add frontmatter with required metadata (see example below)
- Write content in Markdown/MDX
- The page will be automatically generated
---
title: 'Your Page Title'
description: 'Brief description for SEO'
category: 'getting-started'
difficulty: 'beginner'
estimatedTime: '10 minutes'
publishDate: 2026-01-30
lastUpdated: 2026-01-30
author: 'CoClaw Team'
keywords:
- 'keyword1'
- 'keyword2'
---Content is organized with flat URLs (no /docs/ prefix):
/installation/macos- Installation guide for macOS/channels/telegram- Telegram setup guide/troubleshooting/install-errors- Troubleshooting page/guides/security- Security guide
- Connect your GitHub repository to Cloudflare Pages
- Cloudflare will automatically detect Astro and configure build settings
- Every push to
maintriggers automatic deployment - Preview deployments for every pull request
Build Configuration:
- Build command:
pnpm build - Build output directory:
dist - Node version: 22
- Package manager: pnpm
- Pre-commit hooks automatically run linting and formatting
- TypeScript strict mode is enabled
- Follow the existing code style
- Create component in
src/components/ - Use TypeScript for type safety
- Follow Astro's component conventions
- Use HeroUI components for UI elements
- Use Tailwind CSS utility classes
- Follow the design system from PRD
- Support dark mode with
dark:variants - Keep styles consistent across pages
Pagefind automatically indexes all content during build:
pnpm build # Builds site and generates search indexThe search index is generated in dist/pagefind/ and works client-side.
If you encounter build errors:
- Clear cache:
rm -rf .astro node_modules - Reinstall:
pnpm install - Rebuild:
pnpm build
If you see warnings about empty collections, it's normal during initial setup. Add content files to suppress these warnings.
If port 4321 is in use:
pnpm dev -- --port 3000- Improve the OpenClaw config generator UX and add more presets/templates
- Expand troubleshooting coverage with real-world fixes (logs + solutions)
- Add more multilingual content (Chinese/English), and polish existing pages
If you’re not sure where to start, open an issue with what you want to work on and we’ll help scope it.
- Astro Documentation
- HeroUI Documentation
- Tailwind CSS Documentation
- Pagefind Documentation
- PRD Document
MIT