Code
Spawn isolated VS Code instances over HTTP. No local install, no settings sync — every developer gets their own URL with their own extensions, port, and shell. Pair-program by sharing a link.
Explorer
- 📁 src/
- 📁 components/
- 📄 hero.tsx
- 📄 nav.tsx
- 📄 footer.tsx
- 📁 pages/
- 📁 public/
- 📄 package.json
- 📄 README.md
1import { useTranslations } from 'next-intl';
2
3export const Hero = () => {
4const t = useTranslations('hero');
5return (
6<section>
7{t('title')}
8</section>
9);
10};
Built for the way teams actually code
65,535
Concurrent VS Code instances per container
under 1s
From URL click to ready (warm resume)
8
API endpoint groups
0
Local installs to onboard a new dev
An IDE that lives at a URL
Code is full VS Code — no stripped fork, no proprietary editor — running inside your container and reachable through your browser. The differences are operational, not editorial.
Per-instance extensions
Pre-install extensions at spawn time via query params. Each URL boots with the right toolset for the job — no shared-config drift.
# Pre-install extensions on spawn
GET /code/v1/instance?extensions=rust-analyzer,prettier
→ { instance_id: "abc", extensions: 2, ready_ms: 840 }
Spawn and control VS Code over HTTP
Every instance has its own URL, port, and extension set. Drive them from your app — no SSH, no VMs.
View Documentation# Spawn a VS Code instance at a URL
curl "https://proj-dev-code-1.hoody.com/?folder=/home/user/project&id=1"
# Install an extension via API
curl -X POST \
https://proj-dev-code-1.hoody.com/api/v1/code/extensions/install \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"url": "https://marketplace.../ext.vsix"}'
# Response:
# {
# "installed": true,
# "id": "publisher.extension-name",
# "instance_id": 1
# }
11 Endpoints. Full IDE Control.
Serve the editor, authenticate users, proxy local ports, and manage extensions — all over plain HTTP from any language or script.
VS Code Interface
{count, plural, =1 {# endpoint} other {# endpoints}'}GET .../api/v1/code?folder=/home/user/project
Authentication
{count, plural, =1 {# endpoint} other {# endpoints}'}POST .../api/v1/code/login → Set-Cookie: hoody-session
Port Proxying
{count, plural, =1 {# endpoint} other {# endpoints}'}GET .../api/v1/code/proxy/3000/api/data → localhost:3000/api/data
Extensions
{count, plural, =1 {# endpoint} other {# endpoints}'}POST .../api/v1/code/extensions/install { url: "...vsix" }
Ship the editor, not the install guide
Code is one of 14 Kit services bundled with every Hoody container. Stop writing onboarding docs that say 'first, install Node 20'.