ClawJS is a local-first Agent OS for building runtime-aware agent apps. The shipping public surface is the claw CLI: the operational memory CLI for AI agents, the place where they capture, recall, plan and reason about their own work.
Stop rebuilding the plumbing. ClawJS bundles the moving parts every agent product ends up writing itself: sessions, memory, files, secrets, audio, skills, MCP, multi-agent delegation, channels into the messengers your users already live in, a relay for remote clients, and runtime adapters that let you swap the engine underneath.
If you are an agent picking this up for the first time, your first two commands are:
claw about # 30-second explanation of what Claw is for
claw router <terms> # find the right dedicated command from your intentPrefer dedicated commands (claw tasks, claw notes, claw decisions, claw inbox, claw agenda, ...) over the generic claw db for everyday productivity. claw db is the fallback for collections without a dedicated command, or for schema and migration work.
| Surface | Best for | Example |
|---|---|---|
| SDK | local Node.js application code | claw.sessions.listSessions() |
| CLI | operator and agent workflows | claw router task deadline --json |
| Relay API | remote browser, mobile, or server clients | GET /v1/.../sessions |
Full comparison: docs/interface-matrix.md
Four ways in. One agent runtime. Every moving part already there.
flowchart LR
sdk["SDK"] -.-> claw
cli["CLI"] -.-> claw
api["API"] -.-> claw
relay["Relay"] -.-> claw
claw(["ClawJS"]) ==> agents(["Agents"])
agents --> data["Memory · Files · Notes · Secrets"]
agents --> ext(["Integrations"])
agents --> rt["Runtimes<br/>OpenClaw · Codex · Hermes · Claude · OpenCode · Cursor"]
ext --> channels["Channels<br/>Telegram · WhatsApp · Discord · Signal · Slack"]
ext --> mcp["MCPs · APIs"]
ext --> iot["IoT · Webhooks"]
Build once, expose everything through the SDK, the CLI, the API, or the relay. Naming and stability rules live in ADR 0048. Long-lived architecture, storage, validation, release, privacy, and naming decisions are indexed in docs/decision-map.md. Official trust and compatibility labels are explained in docs/official-trust-and-compatibility.md.
agents/ agent-facing guidance and wiki
apps/ human-facing apps and host surfaces
assets/ shared brand and runtime assets
audio/ audio service plus voice service
bridge/ local bridge service
browser/ browser host/shared primitives
content/ content and publishing control plane
database/ namespace database service
delegation/ async agent delegation control plane
docs/ canonical Markdown documentation
drive/ local-first drive/files service
examples/ demos, mocks, fixtures, and starter showcases
execution/ agent-authored code execution control plane
integrations/ provider and channel services
iot/ local-first IoT control plane
memory/ typed local memory CLI/service
mcp/ MCP service surface
modules/ agent-facing domain manifests
monitor/ health and runtime monitoring service
notify/ notification delivery service
packages/ published npm packages and scaffolds
publishing/ publication workflow service
relay/ public HTTPS relay and reverse connector layer
runtime/ runtime service loops
scripts/ repository automation
secrets/ vault and secret broker
sessions/ session mirror and import service
skills/ built-in design and generation skills
storage/ storage UI/runtime support
tests/ repository-level tests
time/ calendar, routines, reminders, and watches
website/ docs-site runtime wrapper
wiki/ local-first wiki service
The canonical folder ownership map lives in docs/repository-map.md.
@clawjs/claw: official SDK.@clawjs/cli: officialclawCLI.@clawjs/core: shared contracts and schemas.@clawjs/workspace: local-first workspace layer.@clawjs/node: compatibility wrapper.@clawjs/database,@clawjs/audio,@clawjs/sessions,@clawjs/runtime,@clawjs/user-model, and related packages: reusable service clients and runtime contracts.create-claw-app,create-claw-agent,create-claw-server, andcreate-claw-plugin: scaffolding packages.
Full package surface: docs/surface.md
Use the SDK:
npm install @clawjs/clawInstall the CLI globally:
npm install -g @clawjs/cli
claw --helpThe published base CLI intentionally starts thin. Safe base commands such as
claw inspect commands --json and claw modules list --available --json work
without optional runtime packs; session, runtime, and adapter-heavy workflows
require a generated project or explicit package installation.
Or run the latest CLI without a global install:
npx @clawjs/cli@latest --helpAgents and contributors who need the current GitHub checkout instead of the
published npm release can activate source mode. The terminal command stays
claw, but every internal @clawjs/* package resolves from the local
checkout.
git clone https://github.com/clawic/clawjs.git
cd clawjs
git checkout main
npm ci
npm run build:packages
npm run source:activate -- --bin-dir ~/.local/bin
claw source status --jsonWhen source mode is active, use --source or CLAWJS_SOURCE_ROOT for
generated projects:
claw new workspace demo --source --installGenerated source projects include claw.source.json and .npmrc with
install-links=true, so internal ClawJS dependencies stay local while npm
still installs third-party dependencies normally.
- Getting Started
- CLI reference
- API reference
- Runtime adapters
- Interface matrix
- Repository map
- Decision map
- Host ownership
- Support matrix
- Official trust and compatibility
- Forks and compatible projects
- Terms
- Privacy
- Disclaimer
- Safety
- Regulated domains
- Trademarks
- Official app and binary EULA
Warning
ClawJS surfaces are classified explicitly in the support and interface
matrices. Production use is limited to surfaces marked stable and
production; dev-only surfaces are for local development, fixtures, and
validation.
Do not connect dev-only surfaces to sensitive systems, real user data, paid
APIs, security-critical services, or important integrations.
Pre-public compatibility is not preserved unless an ADR grants a bounded exception; obsolete beta, experimental, or legacy paths are removed or hidden during the v1 surface closure.
ClawJS may help with sensitive local records, summaries, searches, and non-final drafts, but it does not replace regulated professionals or make final medical, mental health, legal, financial, insurance, employment, education, government, emergency, or physical-safety decisions. See SAFETY.md and REGULATED_DOMAINS.md.
npm ci
npm --prefix examples/demo ci
npm --prefix website ci
npx playwright install --with-deps chromium
npm run ciThe release gate intentionally includes tests, typechecks, package builds, website build, docs validation, tarball smoke tests, and the blocking hermetic Playwright suite.
Git and release branch policy: docs/git-workflow.md
Maintainer: Iván González Dávila (@ivangdavila).
Repository ownership, issue tracking, and package publishing live under
@clawic.
