Thanks for your interest in StackDock. This project is a Windows-first Electron desktop workbench for local development workspaces.
npm ci
npm run typecheck
npm test
npm run build:forceUse npm run dev to launch the built Electron app locally.
- Renderer code must access backend functionality only through
src/lib/api.ts/window.stackdock. - IPC contracts live in
src/shared/types.ts; updateelectron/main.ts,electron/preload.ts, andelectron/validation.tstogether when changing an API. - Main-process file, git, terminal, and persistence logic belongs under
electron/or extension-ownedextensions/*/maincode. - Prefer extension contributions for new workspace side/bottom/status UI instead of growing
WorkspaceShell.tsx. - Local extension JavaScript must run only in sandboxed iframes, never via dynamic import into the renderer.
Before opening a PR, run:
npm run typecheck
npm testFor package-related changes, also run:
npm run build:force
npm run build:appDo not commit generated outputs such as dist/, dist-electron/, release/, node_modules/, or .buildstamp.
Add or update Vitest coverage for behavior changes, especially IPC validation, extension loading, terminal/session state, git parsing, and security-sensitive filesystem behavior.