Skip to content

skillmaker start

skillmaker start [--port <n>] [--no-open]

Serves the board and its API from a single Bun.serve process on one origin: the statically built viewer (packages/viewer/dist/ in a repo checkout, or viewer-dist/ beside the compiled binary — see Install from source) plus /api/*, with SPA fallback for client-side routes and no CORS (there’s nothing to be CORS about — it’s all one origin).

FlagMeaning
--port <n>Port to serve on; overrides skillmaker.config.json’s viewer.port (default 4323)
--no-openDo not open a browser on startup

The board holds a Server-Sent Events (SSE) connection watching .skillmaker/events.jsonl; any journal-appending command run elsewhere (another terminal’s skillmaker new, advance, todo add, …) is reflected on the open board without a reload.

skillmaker start writes a claim file under .skillmaker/claims/ so two start processes can’t silently fight over the same workspace; a stale claim (dead PID) is detected and replaced, and the claim is removed cleanly on SIGTERM.

The viewer must be built once before start will find anything to serve:

Terminal window
bun run build:viewer # from the repo root, once (or after viewer changes)

Your first Skill Bundle walks through opening the board and confirming the API is live with curl.