A complete dev environment in your browser.
Shell, git, npm, node, C compiler, SQLite, Python, and Claude Code. 220+ commands in ~420 KB. 2250+ tests. No server required.
user@shiro:~$ npm init -y Wrote to /home/user/package.json user@shiro:~$ npm install left-pad added 1 package user@shiro:~$ echo 'const lp = require("left-pad"); console.log(lp("hello HN", 30, "."))' > app.js user@shiro:~$ node app.js ......................hello HN user@shiro:~$ git init && git add . && git commit -m "shipped from a browser tab" Initialized empty Git repository in /home/user [main (root-commit) a1b2c3d] shipped from a browser tab 3 files changed, 17 insertions(+) user@shiro:~$ ▮
Write code, install packages, compile C, query databases, and run Claude Code — all in a browser tab. Files persist in IndexedDB. WASM runtimes load on demand. Nothing leaves your machine unless you want it to.
Write a counter, serve it, click buttons from the shell, upgrade to a grapher, commit with git.
init, add, commit, diff — all running client-side via isomorphic-git.
Capture the entire filesystem into a GIF. Drag it to another instance to restore.
C compiler → Node → SQLite → jq → esbuild → git → serve. All in one browser tab.
IndexedDB with a POSIX-like API. stat, readdir, readFile, writeFile, mkdir, symlink, chmod, glob. Files persist across reloads.
Full bash compatibility: pipes, redirects, arrays, arithmetic, functions, traps, extglob, process substitution, and 30+ builtins.
Real npm tarballs from the registry. npm init/install/start/run/uninstall. node runs JS/TS/JSX/TSX. Express shim with Router support. npx auto-installs.
Single self-contained HTML. All JS/CSS inlined by the build. ~420 KB gzipped. Deploy anywhere — GitHub Pages, S3, open it locally.
C compiler (xcc), SQLite (sql.js), Python (Pyodide), Lua, jq, esbuild. Lazy-loaded and cached. Zero boot cost.
Built-in AI: spirit "explain this" pipes through Claude API with streaming. Plus the full @anthropic-ai/claude-code CLI with file tools.