Source content and configuration for docs.coreclaw.com, built with Astro and Starlight.
Chinese version: README.zh-CN.md
CoreClaw documentation is organized by audience:
| Area | Audience | Content |
|---|---|---|
| User Guide | End users | Running Workers, viewing results, billing, API usage, FAQ |
| Developer Guide | Worker developers | Building, testing, publishing, and monetizing Workers |
| API Reference | API consumers | Full endpoint docs with request/response schemas |
| Website Events | All users | Platform events and promotions |
| Changelog | All users | Platform and documentation updates |
- English (
/) — Default language, authoritative source - Simplified Chinese (
/zh-cn/) — Full translation, maintained in parallel
The directory structures under src/content/docs/ and src/content/docs/zh-cn/ mirror each other. Changes should be kept in sync across both languages.
CoreClaw uses two terms for the same concept:
- Worker — The name used in documentation and the UI; refers to data collection scripts
- Scraper — The name used in API paths and field names for backward compatibility (e.g.,
scraper_slug,/api/v1/scraper/run)
API reference is organized by endpoint groups:
- Worker —
/api/v1/scraper/*endpoints for launching, aborting, and viewing Worker runs - Runs —
/api/v1/run/*endpoints for history, results, logs, and exports - Tasks —
/api/v1/task/*endpoints for saved Task templates - Account —
/api/v1/account/*endpoints for account information
Each endpoint page documents the HTTP method, path, request parameters, response schema, and error codes. The API index page provides a complete endpoint quick-reference.
The OpenAPI spec is at public/openapi.json, served at /openapi.json. The openapi.swagger.json file is for local reference only and is not version-controlled (see .gitignore).
Navigation is defined manually via explicit items arrays in astro.config.mjs, giving full control over:
- Section labels and ordering
- Multilingual label translations
- Collapsible groups and nesting
- Badge annotations (e.g., "Required")
.
├── public/ # Static assets (copied as-is)
│ ├── openapi.json # OpenAPI spec (served at /openapi.json)
│ ├── favicon.jpg # Site favicon
│ └── logo.png # Site logo
├── src/
│ ├── assets/ # Build-time assets (images, logos)
│ │ └── docs/ # Documentation screenshots
│ ├── components/ # Custom Astro components
│ │ ├── ApiPlayground.astro # Interactive API testing form
│ │ ├── CopyForLLMs.astro # Copy-for-LLMs header dropdown
│ │ ├── Banner.astro # Site banner
│ │ ├── Header.astro # Custom page header
│ │ ├── Footer.astro # Custom page footer
│ │ └── ... # Other override components
│ ├── content/docs/ # English docs (default language)
│ │ ├── api/ # API reference
│ │ ├── developer-guide/ # Developer docs
│ │ ├── user-guide/ # User docs
│ │ ├── website-events/ # Events and promotions
│ │ ├── home.mdx # Homepage
│ │ ├── changelog.mdx # Changelog
│ │ └── zh-cn/ # Simplified Chinese mirror
│ ├── pages/ # Dynamic routes (Copy-for-LLMs .md exports)
│ └── styles/common.css # Global style overrides
├── scripts/
│ └── check-copy-for-llms.mjs # Post-build smoke test (.md export completeness)
├── astro.config.mjs # Astro + Starlight configuration
├── package.json
└── tsconfig.json
| Component | Purpose |
|---|---|
| Astro | Static site generation |
| Starlight | Documentation theme (sidebar, search, i18n) |
| React | Interactive UI components |
starlight-image-zoom |
Image zoom plugin |
sharp |
Image optimization |
turndown |
HTML to Markdown (Copy-for-LLMs) |
pnpm install # Install dependencies (Node.js 22+, pnpm 10+)
pnpm run dev # Start dev server at http://localhost:4321
pnpm run build # Build to dist/ (includes Copy-for-LLMs check)
pnpm run preview # Preview production buildRun pnpm run build before committing to verify:
- No content rendering errors
- English and Chinese sidebar ordering match
- English and Chinese page structures align
- No broken links or missing asset references
- Copy-for-LLMs smoke test passes (every doc page exports non-empty Markdown)