Skip to content

Latest commit

 

History

History
58 lines (42 loc) · 2.57 KB

File metadata and controls

58 lines (42 loc) · 2.57 KB

Agent guide — ZCode

You are working on ZCode, a dual-mode VS Code OSS browser IDE (repo may still be named code-server).

Read first

  1. PLAN.md — architecture diagrams, done / in progress / remaining, next queue, invariants
  2. RESUME.md — paste-ready agent handoff / resume prompt
  3. README.md — how to run
  4. docs/design-dual-mode-vscode-ide.md — full design RFC

Product facts

  • Brand: ZCode · CLI: zcode · not affiliated with coder/code-server
  • UI always in the browser; dual-mode = remoteAuthority / EH / providers, not a custom editor RPC
  • Browser git needs stateless /git-proxy (CORS); not a control plane
  • Primary IDE: / (VS Code Web). Debug SPA /debug/ = dogfood only (off when NODE_ENV=production).

Quick start

pnpm dev

Full bootstrap in one shot: pnpm install (if needed) → fetch vscode-web/themes → turbo build → serve (ZCODE_COI=1).

Highest-priority remaining work

See PLAN.md §5. M0d–M2, R2c/R6, H3 runbook, SA0–SA2 (server-agnostic ADRs) done on this path.

  • Repo: https://github.com/spinupdev/zcode
  • North star: IDE without required server (same-origin remote optional; WASM Run in browser)
  • Next: WB1 Pyodide runtime · RA1/RA2 zcode-remote Tier 1 attach · finish RA0 spike · WB2 Node WASM
    (ops: CI PTY hard-fail, CF domain, OPFS dual-open, H5 — parallel)
  • ADRs: docs/adr/0001-server-agnostic-ide.md, docs/adr/0002-browser-remote-workspace-sync.md
  • Rebuild owned assets: Node 24 + GITHUB_TOKEN + ./scripts/build-web.sh --package / ./scripts/build-server.sh
  • R6: pnpm e2e:reh · STRICT: ZCODE_E2E_REH_STRICT=1 pnpm e2e:reh · PTY hard-fail: ZCODE_E2E_REH_PTY_REQUIRED=1
  • Docker: pnpm docker:build · Hosting: pnpm hosting:dry-run · Deploy: pnpm deploy:cloudflare

Rules

  • Update PLAN.md work tracker when you finish or start a package
  • Atomic commits; no secrets in URLs
  • Prefer extensions/wrappers over VS Code core patches
  • Do not treat @vscode/test-web as production

Tests

pnpm test
pnpm e2e:browser
pnpm e2e:playwright   # needs Chromium: pnpm --filter @zcode/e2e install-browsers