Skip to content

Glossary

Term Meaning
Workspace The top-level tenant. Owns billing, members, integrations, projects.
Project A single app / site / repo, owned by a workspace. Has files, chat history, deploy config.
Mode A configurable AI persona — system prompt + tool whitelist + provider preferences. Per-project or workspace-default.
Skill A higher-level capability composed of one or more tools (e.g. "Refactor", "Add feature").
Connector A first-party integration (Stripe, Linear, GitHub, ...). See Add an integration.
Integration An installed connector for a specific workspace, with auth credentials.
MCP Model Context Protocol — Anthropic's open standard for tool servers. Doable can both expose and consume MCP servers.
Tool A callable function the AI can invoke. Each tool has a JSON-Schema for its arguments and a permission policy (auto/ask/block).
Tool policy The per-workspace rules for whether a given tool runs automatically, asks for confirmation, or is blocked.
DoCore The AI engine package (@doable/docore) — pools workers, maps provider events into a uniform shape, runs tool calls.
DoCoreEngine A single AI conversation runtime instance.
DoCorePool A pool of DoCoreEngine workers shared across users to bound concurrency.
DoVault The sandboxing package (@doable/dovault) — spawns child processes inside a jail with config + resource limits.
Vault A configured dovault instance that knows which backend to use on the current OS.
Backend (sandboxing) Platform-specific implementation: Direct, Systemd, Nsjail (Linux); JobObject, WindowsHeap (Windows).
Jail The combined process-isolation layer: cgroups + namespaces + seccomp on Linux; Job Objects + AppContainer on Windows.
Isolator The component that places a process into the jail. ProcessIsolator chooses a backend.
Policy A declarative ruleset (PolicyStore) describing what tools/files/network a process or AI can touch. Enforced via createPolicySandbox.
Sandbox The combination of a jail + a policy applied to an in-flight tool call.
EventBus The in-process pub/sub used by docore to fan out AI events to subscribers (chat UI, audit log, billing).
mapSdkEvent The function that translates Copilot SDK events into Doable's uniform AIEvent shape.
Awareness The Yjs concept tracking each connected user's cursor, selection, and presence in real time.
Room A WebSocket channel for one collaborative document (typically one project file).
Yjs The CRDT library that powers conflict-free multi-user editing.
Tunnel Cloudflare Tunnel — a daemon (cloudflared) that exposes local services without opening firewall ports.
PROJECTS_ROOT The directory on disk where project files live. Default services/api/projects/ (bare-metal) or the api_projects Docker volume.
SITES_DIR The directory served by Caddy/nginx for published static sites.
Credit The internal billing unit. 1 credit ≈ a small unit of LLM work; exact ratio set per provider.
Plan (billing) A subscription tier (Free, Pro, Team, ...). Plans cap monthly credits, member counts, and feature flags.
Plan (AI) A multi-step proposal the AI generates before executing — see Plan Mode. Different from billing plan.
KV store The lightweight key-value abstraction in @doable/shared/kv-store.ts. In-memory by default; switches to Redis if REDIS_URL is set.
Internal secret A shared secret (INTERNAL_SECRET) the API uses to authenticate WS server callbacks and other backend-to-backend traffic.
JWT The signed token used for user-facing auth. Signed with JWT_SECRET.
Encryption key The 32-byte key (ENCRYPTION_KEY) used to encrypt OAuth tokens and BYO API keys at rest.