Clapilot Documentation

System overview and entrypoint to Clapilot docs.

Style guide preview

Clapilot UI should feel quiet, dense, and useful.

Use white/neutral surfaces, deep navy actions, compact controls, clear divided lists, pale AI highlights, and practical workbench layouts.

Primary navySecondaryAI surface
Typography

Inter/system for UI. Avenir Next/SF Pro Display only for modest page/module titles.

Spacing

Use the 4px scale: 8px toolbar gaps, 12px compact groups, 16px form/panel rhythm.

Controls

Segmented controls, toggles, compact 32px buttons, circular icon utilities.

Avoid

No beige/orange themes, marketing heroes, nested cards, giant pills, black outline boxes, or fake UI images.

Open full style guide

This page is the landing page for the technical Clapilot docs. It gives you the one-minute picture of the stack, links every docs page, and ends with the quick local setup and a source map for the repository. It is written for engineers and operators who are new to Clapilot; everyday users should start with the User Documentation instead.

Clapilot combines a Next.js business app, PostgreSQL, and the native ClapilotAICore runtime (served by the clapilot-agent service) into an AI-native office automation stack. ClapilotAICore owns model routing, agent memory, scheduled jobs, and external channels; the web app owns the UI, business APIs, and durable business data.

Older OpenClaw paths survive only as legacy compatibility state, import tooling, and env aliases. They are not an active runtime path.

Browser / Apple users Channels Telegram · Slack · WhatsApp clapilot Next.js app + API · :3000 workers · module runtime clapilot-agent ClapilotAICore · :3210 models · memory · jobs · channels PostgreSQL + pgvector business data · runtime state /app/workspace shared files · .clapilotaicore

Start here

Full index

Every Markdown page under docs/content/ is rendered at /docs/<slug>. Grouped by topic:

System overview

Clapilot-Agent Runtime

Data and APIs

Features

Extensibility

Operations

Native runtime

The native clapilot-agent service has its own technical-doc category in the docs sidebar:

If you want the high-level product story first instead of jumping straight into implementation docs, start here:

Quick setup

  1. Copy environment file: cp .env.example .env
  2. Authenticate the host Docker client to GHCR (GitHub Container Registry): mkdir -p "${HOME}/.docker" then run: echo "<GHCR_READ_PACKAGES_TOKEN>" | docker login ghcr.io -u "<github-username>" --password-stdin
  3. Create the separate GHCR auth file used by Watchtower: write ${HOME}/.docker/watchtower-config.json with: {"auths":{"ghcr.io":{"auth":"<base64(GITHUB_USERNAME:GHCR_READ_PACKAGES_TOKEN)>"}}} The token needs read:packages. Use ${HOME}/.docker/..., not ~/.docker/..., in Compose-backed paths. The host-side docker login writes ${HOME}/.docker/config.json; Watchtower still uses its own mounted file because Docker Desktop credential helpers do not exist inside the container.
  4. Start stack: docker compose up -d
  5. Open local services:
    • App: http://localhost:3000
    • Native runtime (internal Docker DNS): http://clapilot-agent:3210

For a local source-built debug stack instead:

docker compose -f docker-compose.yml -f docker-compose.local-build.yml up -d --build

For host-local development without Docker (app on :3100, agent on :3211), use npm run dev:local-native; see Operations.

Source map

  • UI and pages: src/app and src/components
  • API handlers: src/app/api/**/route.ts
  • Core services and helpers: src/lib
  • Database schema: db/migrations/*.sql
  • Native runtime service: services/clapilot-agent/
  • Web-container workers started by entrypoint.sh: scripts/task-scheduler.mjs and scripts/agent-email-poller.mjs (legacy fallbacks, skipped on native-automation installs), scripts/document-rag-indexer.mjs, scripts/google-sync-poller.mjs, scripts/ical-subscription-poller.mjs, scripts/instance-cleanup-worker.mjs, and bundled-modules/social-media/workers/post-publisher.mjs
  • In-process web worker registered by src/instrumentation.ts: src/lib/video-studio-reconciler.ts
  • Startup orchestration: entrypoint.sh