CodeSurf: The Context IDE That Turns Your Workspace Into the Product

An infinite canvas, an MCP bridge, and a relay layer make the workspace itself the thing that gets edited, shared, and automated.

8 to 10 min read · jasonkneen/codesurf

A wide infinite canvas holds a code editor, terminal, browser pane, AI chat panel, and Kanban board as separate blocks connected by thin event lines. The composition explains that CodeSurf treats the workspace as a single living surface rather than a set of tabs or windows.
CodeSurf’s thesis is visible at a glance. The workspace is not a container for tools. It is the product.
Key Takeaways

The Workspace Is the Unit

Most IDEs organize around files, tabs, and panels. CodeSurf flips that stack. The thing you edit is not just code, but the whole working context: a canvas of terminals, browser views, notes, kanban cards, and AI surfaces that stay live together.

That is why it feels less like a code editor with AI bolted on and more like an operating surface for development work. The workspace is persistent, spatial, and shared. Once you accept that premise, the rest of the architecture starts to make sense.

A close-up relay node routes one event from a terminal tile to an AI agent and then into a Kanban card, with the same signal looping back into persisted state. The image explains how CodeSurf keeps different workspace participants synchronized through a shared event path.
The relay is the hidden trick. One event can update multiple surfaces without tightly coupling them together.

Why Agents Fit This Model

CodeSurf assumes an AI agent is not a guest. It can inspect the workspace, use tools through MCP, and participate in the same message path as the UI. That matters because the product does not ask the agent to read a single prompt and disappear. It gives the agent a place in the system.

@jasonkneen Great Work! @jasonkneen Here is a visual map + narrated walkthrough of codesurf https://t.co/Xqu2soQkjv

FileCity, FileCityAI · @FileCityAI on X

That reaction captures the product well. People do not describe CodeSurf as a feature. They describe it as a map, which is exactly what a context-native environment should feel like.

The Relay Layer Makes Everything Feel Alive

Under the canvas sits contex-relay, the layer that keeps participants, tiles, and events in sync. The important idea is not just pub/sub. It is that CodeSurf treats the workspace as a message-passing system with memory. A tile can emit, other surfaces can listen, and new subscribers can catch up from history.

This diagram shows why the system feels coordinated. One event can move across live surfaces, then land in persistent state, then reappear as a tool call for an agent.

That design is subtle, but it changes the feel of the app. Instead of direct point-to-point wiring, CodeSurf uses a shared conversation layer. The editor becomes less like a collection of widgets and more like a local runtime for context.

How CodeSurf Extends Itself

CodeSurf splits extension surfaces into two tracks. Simple UI tiles can be served through the custom contex-ext:// protocol. Power extensions can hook deeper into the event bus and MCP server. That is a smart separation because not every add-on needs full system access.

UI tile
  -> contex-ext:// protocol
  -> injected bridge
  -> workspace API

Power extension
  -> event bus
  -> relay service
  -> MCP server
  -> agent tools

The hot-reload path matters too. If an extension can be reloaded without tearing down the whole app, the workspace stays fluid. That makes the system feel like a living surface rather than a sealed desktop app.

What the Main Process Is Really Doing

The main process is the orchestration point. It handles Electron startup, file watching, local persistence, terminal emulation, extension loading, and the MCP bridge. In other words, it is where the local machine, the workspace state, and the agent interface all meet.

That architecture explains the unusually high memory ceiling and the strong local-first feel. CodeSurf is not just rendering UI. It is maintaining a stateful environment that has to keep many moving parts coherent at once.

The backbone in one pass

Electron main process
  -> watches files with chokidar
  -> stores local state in SQLite and JSON
  -> launches terminal sessions with node-pty
  -> loads extensions and injects bridges
  -> exposes selected actions over MCP
  -> syncs participants through contex-relay

That stack is what makes the product possible. The point is not any single library. The point is that all of them serve one model: persistent context as a shared workspace.

What It Replaces, and What It Adds

The clearest comparison is not feature-by-feature. It is mental model by mental model. VS Code gives you files and tabs. Cursor adds AI to that arrangement. CodeSurf changes the unit itself.

SystemPrimary unit of workHow AI participatesContext modelExtension modelStrengthsTradeoffs
VS Code style IDEFile and tabUsually external or assistant-likeManual, user-managedPlugin ecosystemFamiliar, efficient, matureContext fragments across windows
AI-enhanced editorFile with AI overlayChat, edits, suggestionsPrompt-centered sessionsEditor plugins and assistantsFast for single-task codingAI can feel bolted on
CodeSurfWorkspace surfaceParticipant in the relay and MCP layerSpatial, persistent, sharedUI tiles plus power extensionsStrong multi-surface context and agent coordinationMore complexity, more memory, steeper learning curve

That last row is the real story. CodeSurf is not trying to be a lighter editor. It is trying to make active context visible and editable as a first-class object.

The Tradeoff: Power Through Complexity

This is ambitious software, and it shows. The codebase is opinionated, the main process does a lot, and the Electron footprint is not small. But the architecture is bold because the problem is hard: once humans and agents share work, the editor has to coordinate state, not just display text.

That is CodeSurf’s bet. If the future of development is collaborative between people and agents, then the workspace itself has to become the interface. CodeSurf is one of the clearest attempts to build that future into the product shape.