Architecture

Built from the ground up as an agent engine, not an editor with agents bolted on.

ENGINE TOPOLOGY

How everything connects

The engine sits at the center. Three communication channels — Agent, Plugin, Client — bridge it to the outside world. Agents run code. Plugins extend the engine itself. Clients give you control through any interface.

CODEBOLT ENGINE 73 controllers · 134 services stigmergy · drift · narrative deliberation · governance three-tier memory · hostbridge CLIENT SDK PLUGIN SDK PROVIDERS env bridge AGENT SDK IDE electron TUI go / charm CUSTOM UI your build HEADLESS cli / ci WEB browser PLUGIN_CI build / deploy PLUGIN_SLACK messaging PLUGIN_GIT scm / pr PLUGIN_CLOUD storage / fn DOCKER_ENV sandboxed CLOUD_VM gpu · scale REMOTE_HOST ssh · proxy AGENT_01 custom · code AGENT_02 remix · yaml AGENT_03 flow · visual
CONNECTION
PACKET
ENGINE CORE
REMOTE
SUBSYSTEM MAP

CODEBOLT SERVER — 10 ARCHITECTURAL PLANES

73 controllers · 134 services · 6 managers · 625+ tools — decomposed by architectural role, not just function

EXTERNAL INTERFACE
how the outside world connects to the engine

Client Interface

Client SDK
clientSDKRESTWebSocket
  • 72 REST modules + 33 WebSocket modules
  • UIs connect to control the engine
  • Chat, settings, status, agent monitoring

Agent Interface

Agent SDK · codeboltjs
agentSDKcodeboltjschild process
  • 63+ API modules available to agents
  • Agents connect as child processes
  • waitForReady() → handle messages → invoke tools

Plugin Interface

Plugin SDK
pluginSDKPluginProcessManagerpluginService
  • WS actions + HTTP REST — no separate agent instance
  • Subscribe to real-time events
  • Runs inside the engine, extends it

Remote Execution Provider

Provider · Remote Environments
providerRegistryServiceenvironmentsServices
  • Docker provider creates containers running dockerserver
  • Connects back to main instance
  • Git bundle state transfer between environments

Message Gateway

internal dispatch
gateway/sockets/routes/
  • Routes messages between all four interfaces
  • Channel multiplexer and message router
  • Proxy config for cross-environment routing
AGENT EXECUTION CONTROL
process lifecycle · thread management · remote execution

Agent Process Execution

spawn · lifecycle · heartbeat
AgentProcessManageragentServiceagentController
  • Marketplace discovery → cache → spawn as child process
  • find · start · list · details
  • Emits agentExecutionPhase events per phase

Subagent / Side Execution

parent → child delegation
SideExecutionManageragentExecutionPhaseDataService
  • Parent run delegates work to child runs
  • Child resumes parent on completion
  • Parent un-waits when all dependencies clear

Background Agent Execution

always-on agents
backgroundAgentControllerlocalAgents/universalAgent/
  • Agents that run continuously without user prompt
  • Local + universal agent directories
  • MCP installer agent for auto-setup

Thread Management

10 tools
agentMessageServiceagentFlowService
  • createThread · createStartThread · createBackgroundThread
  • startThread · updateThread · deleteThread
  • getMessages · updateStatus

Event Queue & Wait

6 tools · heartbeat · leases
agentEventQueueDataServiceagentEventQueueInternalHeartbeatManager
  • addEvent · sendAgentMessage · getPendingEvents
  • waitNextEvent · acknowledgeEvent
  • Heartbeat keeps lease alive, detects provider failure

Remote Environment Control

lifecycle · state transfer
environmentRestartServiceshadowGitService
  • CREATED → RUNNING → STOPPED lifecycle
  • Heartbeat monitoring per environment
  • Shadow git bundles for cross-environment transfer
AGENT COORDINATION
multi-agent behavior · swarms · deliberation · reputation

Swarm & Team Coordination

26 tools
swarmManagerswarmDataServiceswarmValidation
  • createSwarm · registerAgent · createTeam
  • createRole · assignRole · createVacancy
  • Topology, role + team assignment

Deliberation Council

8 tools
agentDeliberationServicecoordinationService
  • createDeliberation · respondDeliberation
  • voteDeliberation · getWinner
  • Types: decision · review · brainstorm · approval · vote

Agent Portfolio & Karma

14 tools · reputation system
agentPortfolioServiceroleManagerteamManager
  • getPortfolio · addKarma · getKarmaHistory
  • addTalent · endorseTalent · getRanking
  • addTestimonial · getConversations

Review Merge Request

16 tools
reviewMergeRequestServicereviewModeServiceproblemMatchService
  • createRequest · addFeedback · listRequests
  • Problem matcher seeder for validation
  • Automatic review + merge with pheromone coordination
SYSTEM TOOLS
what agents actually do on the system

Filesystem

13 tools
fileControllerfilereadControllerfileReadService
  • readFile · createFile · updateFile · deleteFile
  • searchFiles · grepSearch · listCodeDefinitions
  • readManyFiles for batch operations

Terminal / Shell

PTY backed · streaming
terminalServiceportScannerServicehostBridge.ts
  • executeCommand · interrupt
  • Streaming stdout/stderr via HostBridge PTY
  • Cross-platform: Electron / CLI / TUI

Git & Shadow Git

11 + narrative tools
gitServiceshadowGitServicegetRepoService
  • init · status · add · commit · diff · push · pull
  • Shadow git for narrative snapshot versioning
  • Git bundles for cross-environment state transfer

Browser Automation

12 tools
browser.navigatebrowser.clickbrowser.screenshot
  • navigate · getUrl · close
  • click · type · scroll · enter
  • screenshot · getHtml · getMarkdown · getContent

Code Search & Grep

semantic + regex
codebaseIndexServicecodeUtilsService
  • Semantic code search via embeddings
  • Glob patterns · regex content search
  • Codebase-wide definition listing

Code Utils & Codemap

4 + 7 tools
codeUtilsServicecodemapDataServicetreeSitterService
  • parseCode · analyzeCode · refactorCode · formatCode
  • Codemap: create · get · list · update · save
  • Tree-sitter AST + LSP integration
TOOL EXTENSION
how tools and capabilities extend the engine

MCP Implementation

4 tools · Model Context Protocol
mcpServicetoolServiceMCPServers/
  • mcp.execute · configure · listServers · connectServer
  • MCPServers/ directory for registered servers
  • MCP installer agent for auto-discovery

Side Execution & Action Blocks

5 + block tools
SideExecutionManageractionBlockRegistry
  • sideExecution.start · stop · status
  • actionBlock.create · execute · list
  • Parallel execution of structured work units

Capabilities & Claims

8 tools · feature flags · leases
capabilityRegistryCapabilityManagerproviderRegistryService
  • listCapabilities · startCapability · stopCapability
  • Acquire run_claim — exclusive lock with TTL
  • Release on completion or heartbeat expiry

Skills

skill registry
skillServiceskillController
  • Register and discover agent skills
  • Composable capability building blocks
  • Agents declare and invoke skills

Tool Registry & Search

625+ tools · dynamic discovery
toolServiceextensionServicepluginService
  • AllTools vs allSearchableTools — scoped per turn
  • ToolSearchEngine for dynamic discovery
  • ~30 tools active per turn, 600+ discoverable
INTELLIGENCE
reason · embed · tokenize · local models

LLM Inference

17+ providers
llmServiceinference/llmController
  • llm.inference · getModelConfig
  • OpenAI · Anthropic · Google · Mistral · Groq · DeepSeek · xAI
  • Per-agent and per-task model selection

Embedding Generation

remote + local
embeddingServicelocalEmbeddingService
  • Remote embedding via cloud providers
  • Local embedding via ONNX inference
  • Powers vector DB and codebase search

Tokenization

token ops
tokenizerService
  • tokenizer.countTokens
  • tokenizer.estimateTokens
  • Context window budget calculation

Local Model Management

Ollama · LM Studio
localModelManagerlocalModelServicelocalModelInferenceService
  • Local model lifecycle management
  • ONNX inference via HostBridge
  • Download, configure, serve local models
MEMORY, KNOWLEDGE & CONTEXT
remember · persist · retrieve · assemble · vector · graph · RAG

Context Assembly Engine

CAE · 5 tools
contextAssemblyServicecontextRuleEngineService
  • assemble · validate · evaluateRules
  • Selects relevant memory for each agent turn
  • Rule-driven context window construction

Context Rule Engine

7 tools
contextRuleEngineDataServicecontextRuleEngineService
  • createRules · updateRules · deleteRules
  • evaluateRules · getPossibleVariables
  • Declarative rules for context selection

Episodic Memory

append-only · 11 tools
episodicMemoryDataService
  • createMemory · appendEvent · queryEvents
  • listMemories · archiveMemory
  • Time-series event storage per agent

Persistent Memory

structured · 8 tools
persistentMemoryDataServicepersistentMemoryInstanceService
  • createMemory · getMemory · retrieveMemory
  • Cross-session agent knowledge retention
  • Pipeline service for memory processing

Basic Memory

25 tools · JSON / Todo / Markdown
jsonMemoryServicemarkdownMemoryService
  • JSON: save · update · delete · list
  • Todo: save · update · delete · list
  • Markdown: save · update · delete · list

KV Store

3 tools
kvStoreDataServicekvStoreInstanceServicekvStoreQueryCompiler
  • createInstance · set · get
  • Query compiler for structured lookups
  • Lightweight key-value persistence

Memory Ingestion & Narrative

pipelines · drift · summarization
memoryIngestionEventBridgememoryIngestionExecutionServicenarrativeService
  • createPipeline · executePipeline
  • Events feed episodic + persistent memory
  • Drift detection + narrative summarization

Vector DB

sqlite-vec · 4 tools
vectordbServicevectordbDataServicevectordb/
  • addVectorItem · queryVectorItem · queryVectorItems
  • SQLite-vec backed — runs everywhere
  • Powers codebase search and RAG

Knowledge Graph

Kuzu · 28 tools
kgDataServicekgInstanceServicekuzuDbService
  • createInstance · addMemoryRecord · addEdge
  • executeView for complex graph queries
  • Kuzu DB for structured relationships

Knowledge Base

12 tools · collections · documents
knowledgeServiceknowledgeDataServiceknowledgeChunkingService
  • createCollection · addDocument · queryKnowledge
  • Chunking service for document processing
  • Update, delete, list collections

RAG Pipeline

retrieve · augment
rag.retrieverag.augment
  • Retrieve relevant context from knowledge stores
  • Augment prompts with retrieved documents
  • Pipeline: chunk → embed → store → retrieve
WORKFLOW & ORCHESTRATION
structured work · DAGs · timing · lifecycle

Jobs & Dependencies

13 tools · DAG edges
jobServicejobController
  • createJob · updateJob · deleteJob · listJobs
  • addDependency · removeDependency — DAG edges
  • addBid · bidWithdraw · bidAccept · lockJob

Tasks & Activity

7 + activity tools
tasksSevicesTaskManagertaskActivityService
  • createTask · updateTask · assignTask · executeTask
  • Task activity tracking and status
  • Task planner for work decomposition

Action Plans & Requirement Plans

6 + 9 tools
actionPlanServicerequirementPlanServicetaskPlannerService
  • actionPlan: create · addTask · startTask · getPlanDetails
  • requirementPlan: sections · reorder · update
  • Requirement → Roadmap → Plan → Block → Todo

Todos & Specs

6 + spec tools
todoServicespecsService
  • createTodo · updateTodo · completeTodo
  • Specs for requirement tracking
  • Simple task lists for lightweight planning

Roadmap & Calendar

10 + 8 tools
roadmapServicecalendarServicecalendarSchedulerService
  • roadmap: phases · features · ideas
  • calendar: events · RSVP · getUpcomingEvents
  • Long-term planning + scheduling

Hooks

8 tools · lifecycle triggers
hooksControllerhooks/
  • createHook · listHooks · getHook · deleteHook
  • hook.initialize for setup
  • Trigger-based automated workflows
COMMUNICATION
chat · mail · channels · notifications

Chat

7 tools · user-facing
chatControllerchatService
  • sendMessage · notify · askQuestion · confirm
  • getHistory · waitForReply · stopProcess
  • User-facing agent messaging interface

Mail

23 tools · agent-to-agent
mailControllermailService
  • sendMessage · replyMessage · fetchInbox
  • createThread · getThread · summarizeThread
  • Agent registry for message routing

Inbox & Channels

integrations · routing
inboxControllerinboxServicedynamicPanelService
  • Inbox for agent message routing
  • Dynamic panel service for UI
  • Slack · Discord · Teams · Telegram · WhatsApp

Notifications

17 domain services
applicationEventBuseventDataResolverService
  • 17 domains: agent · browser · chat · llm · mcp · ...
  • Dispatched via notification handler
  • Broadcasts to UI · plugins · event log

Group Feedback

7 tools
groupFeedback
  • createFeedback · respondFeedback · replyFeedback
  • updateSummary · updateStatus
  • Structured multi-agent feedback loops
GOVERNANCE & INFRASTRUCTURE
platform management · guardrails · testing · state

Environment Management

13 tools · compute lifecycle
environmentsServicesenvironmentRestartService
  • createEnv · startEnv · stopEnv · restartEnv
  • CREATED → RUNNING → STOPPED lifecycle
  • Docker provider + heartbeat monitoring

Guardrails & Eval

rule + LLM evaluation
guardrailEngineguardrailLLMEvaluatorguardrailRuleEvaluatorevalService
  • Rule-based guardrail evaluation
  • LLM-based guardrail evaluation
  • Eval service + guardrail data persistence

Auto Testing

18 tools
autoTestingServicediagnosticService
  • createTestSuite · createTestCase · createTestRun
  • Diagnostic service for issue detection
  • Problem matcher seeder for validation rules

Project & Workspace Structure

29 tools
projectServiceprojectStructureServiceworkspaceService
  • projectStructure: packages · routes · tables
  • fileUpdateIntent: create · checkOverlap
  • Workspace lifecycle + state management

Settings & State

global config
settingServiceglobalSettingsServiceprofileServiceuserService
  • Global + per-project settings
  • User profiles and authentication
  • Application state management

Themes & Templates

appearance · scaffolding
themeServicethemeSeederServicetemplateServicescaffoldService
  • Theme management and seeding
  • Template service for project templates
  • Scaffold service for project generation
CORE TABLES — STATE ALL PLANES SHARE
jobs
durable work
job_dependencies
DAG edges
runs
executor attempts
run_claims
leases
run_dependencies
wait edges
items
tool calls
tool_executions
results
session_messages
chat
usage_ledger
metering
context_assembly
CAE state
event_log
bus history
memory.*
3-tier memory

10 architectural planes · 50 cards · 625+ tools · job is durable work · run is one executor attempt · waits hold a job idle until dependencies clear

SERVER INTERNALS

CODEBOLT SERVER — EXECUTION TOPOLOGY

how requests flow from transport to persistence, layer by layer

1 TRANSPORT LAYER
external requests become routed messages

HTTP Router

express.js · 85+ route files
HANDLES
  • · REST across 81 domain controllers
  • · Auth middleware and CORS
  • · Static plugin UI serving
ROUTES TO
  • controllers/ — 81 domain controllers
  • /pluginui/:pluginId/* — static assets
  • services/ — business logic

WebSocket Router

40+ socket handlers on one endpoint
MULTIPLEXES
  • · shell PTY · chat · editor · browser
  • · LSP · Monaco · agent debug · knowledge
  • · 40 independent streams over one WS
DISPATCHES VIA
  • sockets/handlers/message-router.ts
  • handlers/message-handlers.ts

Middleware Chain

runs before every handler
APPLIES
  • · CORS · body parsing · request logging
  • · Auth / tenant scope
  • · Error boundary → structured error
EMITS
  • applicationEventBus — request lifecycle events
2 MESSAGE DISPATCH
transport-agnostic handler layer

CLI Handler Router

cliLib · 121 handler files
ROUTES
  • · agent · memory · git · terminal · llm
  • · vectordb · browser · codemap · knowledge
  • · swarm · deliberation · review-merge
PATTERN
  • 1 validate input
  • 2 call service method
  • 3 format response via responseTypes/

Notification Services

17 notification handlers
CATEGORIES
  • · agent · browser · chat · fs · git
  • · history · job · llm · mcp · memory
  • · search · swarm · system · task · terminal
DISPATCHES VIA
  • notificatinHandler.cli.ts — main router

Response Types

24 type definitions
NORMALIZES
  • · Per-domain response shapes
  • · Error wrapping + trace context
  • · Streaming chunks vs single response
ENABLES
  • WS · HTTP · IPC transports share logic
3 SERVICE LAYER
business logic · 95+ services

Agent & Execution

9 services
CORE SERVICES
  • agentService.ts — marketplace sync, YAML parse
  • agentFlowRuntimeService.ts — flow execution
  • swarmManager.ts — swarm coordination
  • agentDeliberationService.ts
  • agentPortfolioService.ts
MANAGERS
  • · AgentProcessManager — child process lifecycle
  • · CapabilityManager — skill registry

Memory & Context

10 services · 3-tier
THREE TIERS
  • episodicMemoryDataService — append-only logs
  • persistentMemoryPipelineService — structured
  • contextAssemblyService — CAE (1000+ lines)
SUPPORT
  • · contextRuleEngineService — filter rules
  • · memoryIngestionInstanceService — pipelines

Environment & Provider

4 services · lifecycle engine
CORE
  • environmentsServices.ts — 2500+ lines
  • providerRegistryService.ts — cloud + local
  • environmentRestartService.ts
MONITORS VIA
  • · HeartbeatManager · 10-15s intervals
  • · Auto-restart on critical status
4 STORAGE LAYER
persistence · platform-agnostic via HostBridge

JSON Stores

replaced TypeORM
CONFIG STORES
  • · workspaceStore · projectStore · themeStore
  • · marketplaceAgentStore · marketplaceMcpStore
  • · mcpCategoryStore · problemMatcherStore
DATA STORES
  • · appStore · appConfigStore
  • JsonStore — CRUD + filter + sequence

SQLite (HostBridge)

3 databases
DATABASES
  • · kvStoreDb — key-value
  • · eventLogDb — event logging
  • · vectorDb — with sqlite-vec extension
ACCESS VIA
  • hostBridge.sqliteRun/Get/All/Exec

File System

per-project · .codebolt/
DIRECTORIES
  • · episodic/ — episodic memory files
  • · persistent_memory/ — memory definitions
  • · rules/ — context rules
  • · agentdeliberation/ — deliberation logs
GLOBAL
  • · {userData}/config/ — JSON stores
  • · {userData}/data/ — data stores
PERSISTENT STATE RAIL — STORAGE POWERING THE SERVER
workspaceStore
workspaces
projectStore
projects
appStore
app metadata
themeStore
themes
kvStoreDb
key-value
eventLogDb
event log
vectorDb
embeddings
marketplaceAgentStore
agent marketplace
marketplaceMcpStore
mcp marketplace
episodic/
event logs
persistent_memory/
structured memory
rules/
context rules
DISTINCTION
Services are transport-agnostic. CLI handlers adapt them to WebSocket / HTTP / IPC without business logic duplication.
DISTINCTION
HostBridge isolates platform APIs. Electron, CLI, and TUI all implement it — the server runs identically on each.
DISTINCTION
applicationEventBus persists events to .codebolt/events.json enabling plugin subscriptions and deterministic replay.
AGENT RUNTIME

AGENT EXECUTION MODEL — ACTOR OWNERSHIP

each actor: owns · reads · writes · hands off · emits

1 CONTROL PLANE
incoming work becomes scheduled execution

Socket Router

single WS endpoint · URL-based dispatch
OWNS
  • · Parse URL path → select socket handler
  • · Maintain connection pool per handler
READS
  • · Incoming WS frames · connection metadata
WRITES
  • handler.onMessage — dispatched events
HANDOFF
  • · Message Router → CLI Handler

Agent Service

lifecycle + marketplace sync
OWNS
  • · Agent discovery, caching, spawn
  • · YAML config parsing (remix agents)
  • · Agent instance tracking
READS
  • · marketplaceAgentStore · local .codebolt/agents/
WRITES
  • AgentProcessManager — spawn instruction
HANDOFF
  • · Agent connects via codeboltjs WebSocket
2 EXECUTION PLANE
agent runs · tools execute · responses stream

Agent Process

child process · codeboltjs SDK
OWNS
  • · Agent logic execution (user code)
  • · Tool selection · decision loop
  • · Context management per turn
READS
  • · Messages via codebolt.onMessage()
  • · 63+ SDK modules (fs, git, llm, ...)
WRITES
  • tool_executions — every tool call
  • session_messages — assistant output
EMITS
  • tool.called event
  • tool.completed event

Tool Executor

executeToolService.ts
OWNS
  • · Tool resolution against registry
  • · Parameter validation + binding
  • · Subprocess/PTY/API dispatch
READS
  • · capabilityRegistry · runtime policy
  • · MCP-backed tool config
WRITES
  • items — function_call outputs
  • tool_executions — call history
HANDOFF
  • · Results → Agent Process next turn
3 SIDE EFFECTS
events fan out after execution

Notification Handlers

17 domain-specific handlers
OWNS
  • · Broadcast events to UI clients
  • · Forward to subscribed plugins
  • · Persist to event log
EMITS
  • · UI WebSocket stream (realtime)
  • · Plugin observers (execution gateway)
  • · Chat notifications · system alerts

Execution Gateway

pluginLib/executionGatewayHandler.ts
OWNS
  • · Wrap agent execution with plugin hooks
  • · Claims system — per-operation permissions
ENABLES
  • · Plugins observe/modify agent operations
  • · Audit trail of every execution
  • · Cross-environment proxy execution
DISTINCTION
Agents are child processes — not in-server threads. They connect via WebSocket, giving them identical capabilities whether local or remote.
DISTINCTION
The execution gateway is plugin-based, not hardcoded. Any plugin can claim it to intercept agent operations — enabling proxy execution across environments.
MEMORY ARCHITECTURE

THREE-TIER MEMORY SUBSYSTEM

episodic · persistent · context assembly — how agents remember

1 EPISODIC MEMORY
raw event logs · append-only

Episodic Memory Service

time-based recall
STORAGE
  • .codebolt/memory/episodic/{id}.json
  • · Per-project file per memory thread
OPERATIONS
  • 1 createMemory — new thread
  • 2 appendEvent — add event to log
  • 3 listMemories — get all
  • 4 getMemory — get specific
EVENT SHAPE
  • · { type, timestamp, content, source, context }

Ingestion Pipeline

memoryIngestionInstanceService
STAGES
  • 1 ingest — raw observation
  • 2 enrich — metadata + context
  • 3 dedupe — collapse duplicates
  • 4 align — schema normalization
FEEDS
  • · Persistent memory layer (tier 2)
2 PERSISTENT MEMORY
structured · pipelined · queryable

Persistent Memory Data

persistentMemoryDataService.ts
STORAGE
  • .codebolt/persistent_memory/{id}.json
  • · Named memory types with schemas
HANDLES
  • · Memory definition CRUD
  • · Schema validation on write
  • · Pipeline specification storage

Pipeline Service

persistentMemoryPipelineService.ts
EXECUTES
  • · Chunking · embedding generation
  • · Retrieval queries · vector search
  • · Per-step pipeline execution
INTEGRATES
  • embeddingService — local ONNX models
  • vectordbService — sqlite-vec backend
3 CONTEXT ASSEMBLY ENGINE
CAE · selective retrieval with rules

Context Assembly Service

1000+ lines · the orchestrator
WORKFLOW
  • 1 Evaluate — assess context rules
  • 2 Validate — check required vars
  • 3 Execute — run memory pipelines
  • 4 Merge — dedupe + normalize
  • 5 Contribute — section placement
  • 6 Budget — token limits
  • 7 Return — assembled context
TRACE
  • · Every decision logged for audit

Context Rule Engine

contextRuleEngineService.ts
RULE STORAGE
  • .codebolt/rules/{rule-id}.json
OPERATORS
  • · eq · ne · in · contains
  • · startsWith · endsWith · regex
SCOPE VARS
  • · Evaluated against runtime context
  • · Determines which memories to retrieve
MEMORY STATE — WHERE KNOWLEDGE LIVES
episodic/*.json
event logs
persistent_memory/*.json
definitions + schemas
rules/*.json
context rules
vectorDb
embeddings + search
eventLogDb
execution trace
DISTINCTION
Episodic ≠ persistent. Episodic is raw append-only observation; persistent is curated, schema-validated knowledge.
DISTINCTION
The Context Assembly Engine is the only component the agent talks to. It decides what to remember and when — not the agent.
EXTENSION SYSTEM

PLUGIN + ENVIRONMENT SUBSYSTEM

plugin lifecycle · provider registry · heartbeat monitoring

1 PLUGIN LIFECYCLE
discover → load → start → running → stop

Plugin Service

pluginService.ts · 400+ lines
DISCOVERS
  • ~/.codebolt/plugins/ — global
  • {project}/.codeboltPlugins/ — per-project
  • · Validates package.json with codebolt.plugin key
LIFECYCLE STATES
  • · Discovered · Loaded · Initialized
  • · Started · Stopped · Error
AUTO-START TRIGGERS
  • · On startup · on event · on demand

Plugin Process Manager

PluginProcessManager.ts · 300+ lines
OWNS
  • · Child process spawning + stdio
  • · Signal propagation · timeout mgmt
  • · Crash detection + auto-recovery
TIMEOUTS
  • · Spawn 30s · shutdown 5s · force 3s
STATUS STATES
  • · STARTING · RUNNING · STOPPING
  • · STOPPED · FAILED · CRASHED
2 PLUGIN COMMUNICATION
three simultaneous channels

Channel 1 · WebSocket

full-duplex streaming
USED FOR
  • · fs · git · terminal · llm calls
  • · Same protocol as agents (cliLib)
ENDPOINT
  • /plugin — server WS

Channel 2 · Mux Events

multiplexed subscriptions
SUBSCRIBES TO
  • · task updates · chat events
  • · job status · swarm events
  • · calendar · review-merge
PATTERN
  • · Event-driven side observer

Channel 3 · HTTP REST

CRUD over HTTP
FOR
  • · Threads · tasks · projects
  • · Knowledge · memory · environments
MODULES
  • · Same 72 REST modules as Client SDK
3 ENVIRONMENT + PROVIDER
compute lifecycle · heartbeat · state transfer

Environment Service

environmentsServices.ts · 2500+ lines
LIFECYCLE
  • CREATED → STARTING → RUNNING
  • STOPPING → STOPPED
  • · Plus: ERROR · UNCONNECTABLE · DISCONNECTED · ARCHIVED
EVENTS
  • · STATE_CHANGED · PROCESS_STARTED
  • · HEALTH_CHECK_PASSED/FAILED
  • · RESOURCE_CLEANUP
STATE TRANSFER
  • safeCreateSnapshotArchive
  • importSnapshotBundle

Heartbeat Manager

managers/HeartbeatManager.ts
CONFIGURATION
  • · Provider interval: 10s
  • · Environment interval: 15s
  • · Warning threshold: 2 missed
  • · Restart threshold: 3 missed
  • · Max restart attempts: 2
  • · Restart cooldown: 60s
STATUS ESCALATION
  • healthy → warning → critical → dead
ACTIONS
  • · Auto-restart on critical
  • · Emit events · update UI
RUNTIME STATE — PLUGIN + ENVIRONMENT TRACKING
pluginRegistry
discovered plugins
pluginProcesses
running children
environmentRecords
lifecycle state
providerRegistry
cloud + local
heartbeatStatus
health tracking
claimsRegistry
gateway permissions
DISTINCTION
Plugins run in separate child processes — crash of one plugin never affects the server or other plugins.
DISTINCTION
Providers are plugins too. The RemoteExecutionPlugin claims the ExecutionGateway to enable cross-environment agent proxy calls.
DISTINCTION
Heartbeat is bidirectional: the server pings providers and providers ping the server, so both sides detect failure.
AGENT CAPABILITIES

TOOL REGISTRY — 66 MODULES · 625+ TOOLS

click a category to see its tools · every capability available to an agent

FILE & CODE

Filesystem

codebolt.fs · 13 tools
READ & WRITE
  • fs.readFile
  • fs.createFile
  • fs.updateFile
  • fs.deleteFile
  • fs.readManyFiles
SEARCH
  • fs.searchFiles
  • fs.grepSearch
  • fs.listCodeDefinitions
FILE & CODE

Git

codebolt.git · 11 tools
VERSIONING
  • git.init
  • git.status
  • git.add
  • git.commit
  • git.diff
REMOTE + BRANCH
  • git.push
  • git.pull
  • git.checkout
  • git.branch
FILE & CODE

Codebase Search

codebolt.codebaseSearch · 2 tools
SEMANTIC SEARCH
  • codebaseSearch.search
  • codebaseSearch.searchMcpTools
FILE & CODE

Code Utils

codebolt.codeutils · 4 tools
AST + ANALYSIS
  • codeutils.parseCode
  • codeutils.analyzeCode
  • codeutils.refactorCode
  • codeutils.formatCode
FILE & CODE

Codemap

codebolt.codemap · 7 tools
CODE MAPPING
  • codemap.create
  • codemap.get
  • codemap.list
  • codemap.update
  • codemap.delete
  • codemap.save
EXECUTION

Terminal / Shell

codebolt.terminal · PTY backed
COMMANDS
  • terminal.executeCommand
  • terminal.interrupt
BACKING
  • · HostBridge PTY · streaming stdout/stderr
  • · Cross-platform (Electron / CLI / TUI)
EXECUTION

Browser Automation

codebolt.browser · 12 tools
NAVIGATION
  • browser.navigate
  • browser.getUrl
  • browser.close
INTERACTION
  • browser.click
  • browser.type
  • browser.scroll
  • browser.enter
CAPTURE
  • browser.screenshot
  • browser.getHtml · getMarkdown · getContent
EXECUTION

MCP

codebolt.mcp · model context protocol · 4 tools
MCP TOOLS
  • mcp.execute
  • mcp.configure
  • mcp.listServers
  • mcp.connectServer
EXECUTION

Side Execution

codebolt.sideExecution · parallel work · 5 tools
SIDE EXECUTION
  • sideExecution.start
  • sideExecution.stop
  • sideExecution.status
  • sideExecution.listActionBlocks
ACTION BLOCKS
  • actionBlock.create
  • actionBlock.execute
  • actionBlock.list
INTELLIGENCE

LLM

codebolt.llm · 17+ providers
INFERENCE
  • llm.inference
  • llm.getModelConfig
PROVIDERS
  • · OpenAI · Anthropic · Google
  • · Mistral · Groq · DeepSeek · xAI
  • · Ollama · LM Studio (local)
TOKEN OPS
  • tokenizer.countTokens
  • tokenizer.estimateTokens
INTELLIGENCE

Vector DB

codebolt.vectordb · sqlite-vec · 4 tools
VECTOR OPS
  • vectordb.addVectorItem
  • vectordb.queryVectorItem
  • vectordb.queryVectorItems
  • vectordb.getVector
INTELLIGENCE

RAG

codebolt.rag · retrieval-augmented · 2 tools
RAG PIPELINE
  • rag.retrieve
  • rag.augment
INTELLIGENCE

Knowledge Graph

codebolt.kg · 28 tools · Kuzu backed
INSTANCES
  • kg.createInstanceTemplate
  • kg.createInstance
  • kg.getInstance
GRAPH OPS
  • kg.addMemoryRecord
  • kg.addEdge
  • kg.listMemoryRecords
  • kg.executeView
INTELLIGENCE

Knowledge Base

codebolt.knowledge · 12 tools
COLLECTIONS
  • knowledge.createCollection
  • knowledge.listCollections
  • knowledge.getCollection
  • knowledge.deleteCollection
DOCUMENTS
  • knowledge.addDocument
  • knowledge.queryKnowledge
  • knowledge.updateDocument
MEMORY & CONTEXT

Basic Memory

codebolt.memory · 25 tools · JSON/Todo/Markdown
JSON STORE
  • memory.jsonSave
  • memory.jsonUpdate
  • memory.jsonDelete
  • memory.jsonList
TODO STORE
  • memory.todoSave
  • memory.todoUpdate · delete · list
MARKDOWN STORE
  • memory.markdownSave
  • memory.markdownUpdate · delete · list
MEMORY & CONTEXT

Episodic Memory

append-only event logs · 11 tools
MEMORY OPS
  • episodicMemory.createMemory
  • episodicMemory.appendEvent
  • episodicMemory.queryEvents
  • episodicMemory.listMemories
  • episodicMemory.archiveMemory
MEMORY & CONTEXT

Persistent Memory

codebolt.persistentMemory · structured · 8 tools
MEMORY OPS
  • persistentMemory.createMemory
  • persistentMemory.getMemory
  • persistentMemory.listMemories
  • persistentMemory.updateMemory
  • persistentMemory.retrieveMemory
MEMORY & CONTEXT

Memory Ingestion

codebolt.memoryIngestion · pipelines · 2 tools
PIPELINES
  • memoryIngestion.createPipeline
  • memoryIngestion.executePipeline
MEMORY & CONTEXT

Context Assembly

codebolt.contextAssembly · CAE · 5 tools
ASSEMBLY
  • contextAssembly.assemble
  • contextAssembly.validate
  • contextAssembly.getMemoryTypes
  • contextAssembly.evaluateRules
  • contextAssembly.getRequiredVariables
MEMORY & CONTEXT

Context Rule Engine

codebolt.contextRuleEngine · 7 tools
RULES
  • contextRuleEngine.createRules
  • contextRuleEngine.updateRules
  • contextRuleEngine.deleteRules
  • contextRuleEngine.listRules
  • contextRuleEngine.evaluateRules
  • contextRuleEngine.getPossibleVariables
MEMORY & CONTEXT

KV Store

codebolt.kvStore · key-value · 3 tools
KEY-VALUE
  • kvStore.createInstance
  • kvStore.set
  • kvStore.get
MEMORY & CONTEXT

Event Log

codebolt.eventLog · 9 tools
EVENTS
  • eventLog.createInstance
  • eventLog.appendEvent
  • eventLog.appendEvents
  • eventLog.queryEvents
  • eventLog.getStats
AGENT COORDINATION

Agent

codebolt.agent · lifecycle · 4 tools
AGENT OPS
  • agent.find
  • agent.start
  • agent.list
  • agent.details
AGENT COORDINATION

Threads

codebolt.thread · execution threads · 10 tools
THREAD OPS
  • thread.createThread
  • thread.createStartThread
  • thread.createBackgroundThread
  • thread.listThreads
  • thread.getThread
  • thread.startThread
  • thread.updateThread
  • thread.deleteThread
  • thread.getMessages
  • thread.updateStatus
AGENT COORDINATION

Background Threads

codebolt.backgroundChildThreads · 4 tools
CHILD THREADS
  • backgroundChildThreads.start
  • backgroundChildThreads.stop
  • backgroundChildThreads.status
  • backgroundChildThreads.list
AGENT COORDINATION

Swarm

multi-agent coordination · 26 tools
SWARMS
  • swarm.createSwarm
  • swarm.registerAgent
TEAMS + ROLES
  • swarm.createTeam
  • swarm.joinTeam
  • swarm.createRole
  • swarm.assignRole
VACANCIES
  • swarm.createVacancy
  • swarm.applyVacancy
AGENT COORDINATION

Agent Deliberation

codebolt.agentDeliberation · voting · 8 tools
DELIBERATION
  • agentDeliberation.createDeliberation
  • agentDeliberation.getDeliberation
  • agentDeliberation.listDeliberations
  • agentDeliberation.updateDeliberation
  • agentDeliberation.respondDeliberation
  • agentDeliberation.voteDeliberation
  • agentDeliberation.getWinner
AGENT COORDINATION

Review Merge

codebolt.reviewMergeRequest · 16 tools
REVIEW REQUESTS
  • reviewMergeRequest.createRequest
  • reviewMergeRequest.getRequest
  • reviewMergeRequest.listRequests
  • reviewMergeRequest.updateRequest
  • reviewMergeRequest.addFeedback
AGENT COORDINATION

Agent Portfolio

codebolt.agentPortfolio · reputation · 14 tools
PORTFOLIO
  • agentPortfolio.getPortfolio
  • agentPortfolio.getConversations
  • agentPortfolio.updateProfile
KARMA + TALENTS
  • agentPortfolio.addKarma
  • agentPortfolio.getKarmaHistory
  • agentPortfolio.addAppreciation
  • agentPortfolio.addTalent
  • agentPortfolio.endorseTalent
  • agentPortfolio.getTalents
  • agentPortfolio.getRanking
TESTIMONIALS
  • agentPortfolio.addTestimonial
  • agentPortfolio.updateTestimonial
  • agentPortfolio.deleteTestimonial
AGENT COORDINATION

Agent Event Queue

codebolt.agentEventQueue · 6 tools
EVENTS
  • agentEventQueue.addEvent
  • agentEventQueue.sendAgentMessage
  • agentEventQueue.getPendingEvents
  • agentEventQueue.getStats
WAIT + ACK
  • agentEventQueue.waitNextEvent
  • agentEventQueue.acknowledgeEvent
WORKFLOW & PLANNING

Tasks

codebolt.task · task management · 7 tools
TASK OPS
  • task.createTask
  • task.updateTask
  • task.deleteTask
  • task.getTask
  • task.listTasks
  • task.assignTask
  • task.executeTask
WORKFLOW & PLANNING

Jobs

codebolt.job · parallel work · 13 tools
JOB OPS
  • job.createJob
  • job.getJob
  • job.updateJob
  • job.deleteJob
  • job.listJobs
  • job.createJobGroup
DEPENDENCIES
  • job.addDependency
  • job.removeDependency
BIDDING + LOCKING
  • job.addBid
  • job.bidWithdraw
  • job.bidAccept
  • job.lockJob
  • job.unlockJob
WORKFLOW & PLANNING

Action Plans

codebolt.actionPlan · structured planning · 6 tools
PLAN OPS
  • actionPlan.createPlan
  • actionPlan.addTask
  • actionPlan.startTask
  • actionPlan.updatePlan
  • actionPlan.getPlanDetails
  • actionPlan.getAllPlans
WORKFLOW & PLANNING

Todos

codebolt.todo · simple task lists · 6 tools
TODO OPS
  • todo.createTodo
  • todo.updateTodo
  • todo.deleteTodo
  • todo.getTodo
  • todo.listTodos
  • todo.completeTodo
WORKFLOW & PLANNING

Requirement Plans

codebolt.requirementPlan · specs · 9 tools
PLAN OPS
  • requirementPlan.createPlan
  • requirementPlan.getPlan
  • requirementPlan.updatePlan
  • requirementPlan.listPlans
SECTIONS
  • requirementPlan.addSection
  • requirementPlan.updateSection
  • requirementPlan.removeSection
  • requirementPlan.reorderSections
WORKFLOW & PLANNING

Calendar

codebolt.calendar · scheduling · 8 tools
EVENT OPS
  • calendar.createEvent
  • calendar.updateEvent
  • calendar.deleteEvent
  • calendar.getEvent
  • calendar.listEvents
  • calendar.getEventsInRange
  • calendar.getUpcomingEvents
STATUS
  • calendar.markEventComplete
  • calendar.rsvpEvent
WORKFLOW & PLANNING

Roadmap

codebolt.roadmap · long-term planning · 10 tools
PHASES + FEATURES
  • roadmap.createPhase
  • roadmap.updatePhase
  • roadmap.createFeature
  • roadmap.updateFeature
  • roadmap.getFeatures
  • roadmap.getPhases
  • roadmap.getRoadmap
IDEAS
  • roadmap.createIdea
  • roadmap.getIdeas
  • roadmap.reviewIdea
WORKFLOW & PLANNING

Hooks

codebolt.hook · lifecycle triggers · 8 tools
HOOK OPS
  • hook.createHook
  • hook.listHooks
  • hook.getHook
  • hook.deleteHook
  • hook.initialize
COMMUNICATION

Chat

user-facing messaging · 7 tools
OUTBOUND
  • chat.sendMessage
  • chat.notify
  • chat.askQuestion
  • chat.confirm
HISTORY + CONTROL
  • chat.getHistory
  • chat.waitForReply
  • chat.stopProcess
COMMUNICATION

Mail

agent-to-agent · 23 tools
MESSAGES
  • mail.sendMessage
  • mail.replyMessage
  • mail.fetchInbox
THREADS
  • mail.createThread
  • mail.getThread
  • mail.summarizeThread
REGISTRY
  • mail.registerAgent
  • mail.listAgents
COMMUNICATION

Channels

codebolt.channel · team chat integrations
CHANNEL OPS
  • channel.createChannel
  • channel.listChannels
  • channel.sendMessage
PLATFORMS
  • · Slack · Discord · Teams
  • · Telegram · WhatsApp
COMMUNICATION

Group Feedback

codebolt.groupFeedback · 7 tools
FEEDBACK OPS
  • groupFeedback.createFeedback
  • groupFeedback.getFeedback
  • groupFeedback.listFeedback
  • groupFeedback.respondFeedback
  • groupFeedback.replyFeedback
  • groupFeedback.updateSummary
  • groupFeedback.updateStatus
EXTENSIBILITY & ADMIN

Project Structure

29 tools · the biggest category
PACKAGES
  • projectStructure.createPackage
  • projectStructure.listPackages
  • projectStructure.addDependency
SCHEMA
  • projectStructure.addRoute
  • projectStructure.addTable
INTENTS
  • fileUpdateIntent.createIntent
  • fileUpdateIntent.checkOverlap
EXTENSIBILITY & ADMIN

Environment

codebolt.environment · compute lifecycle · 13 tools
ENV OPS
  • environment.createEnv
  • environment.getEnv
  • environment.listEnvs
  • environment.updateEnv
  • environment.deleteEnv
LIFECYCLE
  • environment.startEnv
  • environment.stopEnv
  • environment.restartEnv
  • environment.getStatus
  • environment.getProviders
EXTENSIBILITY & ADMIN

Orchestrator

codebolt.orchestrator · workflow · 8 tools
ORCHESTRATOR OPS
  • orchestrator.createOrchestrator
  • orchestrator.getOrchestrator
  • orchestrator.listOrchestrators
  • orchestrator.updateOrchestrator
  • orchestrator.deleteOrchestrator
SETTINGS
  • orchestrator.getSettings
  • orchestrator.updateSettings
  • orchestrator.updateStatus
EXTENSIBILITY & ADMIN

Auto Testing

codebolt.autoTesting · test framework · 18 tools
TEST SUITES
  • autoTesting.createTestSuite
  • autoTesting.listTestSuites
TEST CASES
  • autoTesting.createTestCase
  • autoTesting.listTestCases
TEST RUNS
  • autoTesting.createTestRun
  • autoTesting.updateTestRun
EXTENSIBILITY & ADMIN

Capability

codebolt.capability · feature flags · 8 tools
CAPABILITY OPS
  • capability.listCapabilities
  • capability.getCapabilityDetail
  • capability.startCapability
  • capability.stopCapability
  • capability.getExecutionStatus
EXTENSIBILITY & ADMIN

State

codebolt.state · state management · 5 tools
STATE OPS
  • state.setState
  • state.getState
  • state.updateState
  • state.deleteState
  • state.listStates
EXTENSIBILITY & ADMIN

Debug

codebolt.debug · introspection · 2 tools
DEBUG OPS
  • debug.log
  • debug.getDebugInfo
UTILITIES & INTERNALS

Crawler

codebolt.crawler · 5 tools
WEB CRAWLING
  • crawler.crawl
  • crawler.extractContent
  • crawler.extractLinks
  • crawler.getMetadata
  • crawler.stopCrawl
UTILITIES & INTERNALS

User Message Manager

message primitives · 10 tools
MESSAGE OPS
  • userMessage.create
  • userMessage.append
  • userMessage.getHistory
  • userMessage.clear
UTILITIES
  • userMessageUtils.format
  • userMessageUtils.parse
  • userMessageUtils.merge
UTILITIES & INTERNALS

Search Internals

tools/search/ · 9 low-level tools
PATTERNS
  • Glob — glob patterns
  • Grep — regex content
  • SearchFiles
CODEBASE
  • CodebaseSearch
  • ListCodeDefinitionNames
  • SearchMcpTool
NOTE
  • · Exposed via fs.grepSearch and fs.searchFiles
UTILITIES & INTERNALS

Notifications

17 domain notification services
DOMAINS
  • · agent · browser · chat · codeutils
  • · crawler · dbmemory · fs · git · history
  • · llm · mcp · memory · search
  • · swarm · system · task · terminal
DISPATCHED VIA
  • notificatinHandler.cli.ts — main router
BROADCASTS TO
  • · UI clients · subscribed plugins · event log
45 FILE & CODE
25 EXECUTION
61 INTELLIGENCE
87 MEMORY & CONTEXT
94 AGENT COORDINATION
65 WORKFLOW & PLANNING
38 COMMUNICATION
170+ EXTENSIBILITY

"Every tool is scoped by environment capabilities. allTools vs allSearchableTools — ~30 tools are actively given to the LLM per turn while 600+ are discoverable via ToolSearchEngine. Same SDK at every scale: codebolt.fs.readFile works identically in a CLI script, an IDE agent, a Docker sandbox, or a remote cloud environment."

Tool Registry · Design Notes

The Engine Stack

Other tools are Layer 1-2. Agent frameworks are Layer 2 only. Codebolt is all five.

Interface Layer — IDE, TUI, CLI, Web surface
Communication Layer — Agent, Plugin, Client SDKs runtime
Coordination Layer — Stigmergy, Deliberation, Pheromones coordination
Intelligence Layer — Drift Engine, Narrative Versioning (Rust) intelligence
Infrastructure Layer — Governance, Environments, Providers core

Engine Architecture

The Agent Channel (codeboltjs) lets external agents connect as child processes with 63+ API modules. The Plugin Channel (plugin SDK) provides WebSocket actions, multiplexed events, and HTTP REST — enabling applications to run inside the engine without separate agent instances. The Client Channel (client SDK) connects UIs with 72 REST modules and 33 WebSocket modules. Agents do work. Plugins connect the engine to the world. Clients give you control.

The engine never calls platform APIs directly. It defines a HostBridge interface for process spawning, SQLite, Kuzu graph DB, and ONNX inference. Each runtime implements its own bridge: Electron uses UtilityProcess and TypeORM, CLI uses child_process and better-sqlite3, TUI connects via WebSocket proxy. One codebase powers desktop IDE, CLI, headless server, and TUI with identical capabilities.

Providers manage compute environments. The Docker provider creates containers running a dockerserver that connects back to the main instance. Each environment has a full lifecycle (CREATED → RUNNING → STOPPED) with heartbeat monitoring. The Narrative Engine snapshots state per-environment, and git bundles transfer state between them. This enables hierarchical setups where one Codebolt instance orchestrates many others.

Agents are discovered from a marketplace, cached locally, and spawned as child processes. They connect via codeboltjs, call waitForReady(), then handle messages and invoke 63+ API modules. Agents can spawn child agents, participate in swarms, join deliberation councils, create review-merge requests, and manage environments — all through the SDK.

Plugins are discovered from project .codeboltPlugins/ and global ~/.codebolt/plugins/. Each declares itself in package.json with a codebolt.plugin key. The PluginProcessManager handles lifecycle and trigger-based auto-start. Plugins can do anything agents can, plus subscribe to real-time events and make HTTP API calls. They run inside the engine — no separate instance needed.

Research Foundations

Agents communicate indirectly through structured shared state instead of direct message passing. Each agent reads from and writes to a shared environment, allowing coordination to emerge without explicit messaging. This is how biological swarms scale to millions — and how Codebolt scales beyond message-passing architectures.

Agents deposit pheromones on tasks and files to signal interest and ownership. Configurable pheromone types. Aggregation system for conflict resolution. Lock/unlock mechanisms for exclusive access. This prevents coordination breakdown when agents independently target the same work.

A Rust-based flight recorder with shadow git for snapshot versioning. Narrative hierarchy: Objective → Thread → Agent Run → Snapshot. Per-thread commit branches. Git bundles for cross-environment transfer. Full execution trace system. Every change carries its narrative — the intent behind it, not just the diff.

Two-level architecture. Local Rust engine instances assess structural, scope, constraint, and coverage drift within individual agent contexts. The global JavaScript layer aggregates signals across all agents, detecting systemic drift that no single agent would catch.

Structured deliberations: propose options, respond, vote, reach consensus. Types: decision, review, brainstorm, approval, vote. All stored per-project and fully traceable. Agents make architectural decisions collectively, not by one agent guessing.

Convinced by the engineering.