Skip to main content

Extending Codebolt

This section is about adding new capabilities to the Codebolt application itself — not to individual agents, but to the platform every agent runs on.

The mechanism for all of these is the Plugin SDK. What this section adds is the patterns — concrete recipes for each class of extension, using that SDK.

What you can extend

WhatPatternSection
LLM / embedding backendsRegister a custom provider; route models to your backendCustom LLM Providers
UI panels and viewsEmbed a React panel in the Codebolt interfaceUI Extensions
ThemesOverride CSS variables, supply icon sets, ship a dark/light themeThemes
Custom commandsAdd slash commands, toolbar actions, keyboard shortcutsCustom Commands
Execution backendsPlug in a custom sandbox / remote execution providerCustom Execution Backends

How it differs from Custom UIs and Plugins

  • Custom UIs — you're building a separate interface (your own chat panel, CLI, editor extension) that talks to the server over WebSocket. You own the whole surface.
  • Plugins — the SDK and lifecycle reference. Read this for the how; read this section for the what to build.
  • Extending Codebolt — you're adding into the existing Codebolt UI or runtime. Users of your extension see it inside Codebolt, not in a separate app.

Where extensions live

All extensions ship as plugins. The plugin manifest declares what the plugin contributes:

# plugin.yaml
name: my-llm-extension
contributes:
llmProviders:
- id: my-provider
label: My LLM
uiPanels:
- id: my-panel
entry: ./dist/panel.js
themes:
- id: my-theme
label: Corporate Dark
entry: ./themes/corporate-dark.css
commands:
- id: my-cmd
label: Run My Command
keybinding: ctrl+shift+m

Each contributes key maps to one of the sections in this guide.

See also