Codelet logoCodelet

Codelet
A minimal web IDE

Drop a code editor or a full VS Code-shaped workbench into any web page. Framework-agnostic, no CSS to import, and extensions you only pay for when you use them.

import { Workbench, FileSystem } from "codelet/workbench";
import { search } from "codelet/extensions/search";
import { typescript } from "codelet/extensions/lsp/typescript";

const fs = new FileSystem();
fs.write("/hello.ts", "const greet = (name: string) => `hi ${name}`;");

new Workbench({
  parent: document.getElementById("app")!,
  fs,
  open: "/hello.ts",
  extensions: [search, typescript()],
});

Features

  • An editor, or a whole IDE

    Use the standalone editor on its own, or the workbench for a file tree, tabs, a command palette and a panel.

  • React and Vue included

    A <CodeEditor /> wrapper for both, as optional peers. The core is framework-agnostic.

  • Nothing to configure

    One import and no CSS build. Themes are plain objects you pass in, and two are built in.

  • Renders on the server

    Ship markup the client takes over on mount, so the first paint is not an empty box.

  • Extensions you opt into

    Search, terminal, chat, language servers and more, each behind its own entry and tree-shaken away when unused.

  • Real files, optionally

    Point the workbench at a directory on a machine with the bundled server, or keep everything in memory.