Skip to content

Choosing packages ​

Each package installs on its own, so an app installs only the ones it needs.

By what you build ​

You buildStart withAdd when you need
The window of a desktop appShell, UIService for a background process
A chat with a coding agentAgents in the backend, Agent views in the windowIntelligent UI for blocks of UI in replies
A code editorEditor viewsLSP for a language server, Merge for conflicts
A terminal paneTerminalUI for the theme it reads
A database browserDatabase
Charts of usage or metricsCharts
A canvas with drawings, diagrams or plansDrawing, Diagram, Plan

How they fit together ​

Each package plays one of four roles:

Every view draws on the theme of @adecore/ui. The editor goes from a document model without a DOM (Editor core), through a DOM view (Editor), to React editors with language features (Editor views).

Interface ​

PackageWhat it holds
UI (@adecore/ui)React components, a theme, formatters and a settings dialog
Charts (@adecore/charts)Series, heatmaps, timelines and sparklines, drawn as SVG on the theme
Terminal (@adecore/terminal)A terminal pane on xterm.js in the colors of the theme, fed by the app through a handle

Agents ​

PackageWhat it holds
Agent contracts (@adecore/agent-contracts)Schemas and port contracts for agent chats, provider accounts, models and usage
Agents (@adecore/agents)Chat hosts for Node and Bun over provider CLIs, with accounts, usage and task coordination
Agent views (@adecore/agents-react)React views for agent chats: threads, the composer, approvals, provider accounts and usage
Intelligent UI (@adecore/intelligent-ui)The component catalog, compiler and bounded interpreter for blocks of UI in an agent's reply

Editor ​

PackageWhat it holds
Editor core (@adecore/editor-core)The document model: text, selections, undo history, search, folding and editing commands, with no DOM
Editor (@adecore/editor)The DOM view that draws a document model
Editor views (@adecore/editor-react)React editors with language features, popups and change review over an injected language service
LSP (@adecore/lsp)A Language Server Protocol client with no DOM, and the language service interface the editor asks
Merge (@adecore/merge)Line diffs, three-way merge blocks and conflict resolution for text

Platform ​

PackageWhat it holds
Shell (@adecore/shell)The main process of an Electron app: its menu, its updater, its windows and the guards around its page
Service (@adecore/service)Definitions and managers for a launchd job on macOS, a systemd user service on Linux or a scheduled task on Windows
Database (@adecore/database)Views to browse, query and edit SQLite and MySQL databases, a host for the backend and a native helper
Utils (@adecore/utils)Waits, deadlines, atomic file writes and path checks, with no dependencies

Canvas ​

PackageWhat it holds
Drawing (@adecore/drawing)Drawing schemas, geometry, paths, SVG export and reading order
Diagram (@adecore/diagram)Directed graphs on top of drawing, with layered layout and SVG export
Plan (@adecore/plan)Plan trees with atomic operations, permissions for people and agents, and Markdown

Licenses and third-party notices are listed in each package.