The source for vem.run — Vem's live web playground and docs. A single-page
app that boots straight into the canvas-native editor; help/config/plugin docs open in-editor via
:help, :docs, :config (real Vim-style splits, not a separate marketing site).
An @vemjs/renderer-vecto editor instance wired up with the
official plugin set, running entirely client-side — no
backend, no build-time content pipeline. src/main.ts is the entry point; src/help.ts renders
the in-editor :help/:docs content; src/plugins/officialPlugins.ts registers the shipped
plugins in their default (some deferred/opt-in) state.
Loads a .vemrc from an opened project folder if present — see
vem-desktop's presets/ for ready-made examples (theme,
line numbers, clipboard integration), which work here too since a vemrc is just a plain
JSON VemConfig object.
bun install
bun run dev # vite dev server with HMR
bun test srcDeploys to Cloudflare Pages (project vem) automatically on every push to main — CI's
test job builds and uploads dist/, then the deploy job pushes it via
cloudflare/wrangler-action using the org's
CLOUDFLARE_ACCOUNT_ID/CLOUDFLARE_API_TOKEN secrets. Nothing to run by hand — merging to main
is the deploy.
For a manual/local deploy (hotfix, or testing the deploy path itself) just deploy still works:
just deploy # verify (test + lint + format:check) → build → deployscripts/deploy-pages.sh wraps wrangler pages deploy and reaps its never-exiting process once
the Deployment complete! marker appears. Either way, verify the live site afterward — check for
the specific new strings/behavior you just shipped, not just that the deploy exited 0.
- vem — the editor monorepo (
@vemjs/core,renderer-vecto,lsp-client,plugin-api) this site's editor is built on - vem-plugins — the official plugins loaded here
- vem-desktop — the native Tauri shell sharing this site's editor code
MIT