Electron desktop app — SolidJS frontend, Node.js backend. Published for macOS and Linux only (no Windows).
- Frontend: SolidJS, TypeScript (strict), Vite
- Backend: Node.js (Electron, node-pty)
- Package manager: npm
npm run dev— start Electron app in dev modenpm run build— build production Electron appnpm run typecheck— run TypeScript type checking
src/— SolidJS frontend (components, store, IPC, lib)src/lib/— frontend utilities (IPC wrappers, window management, drag, zoom)electron/— Electron main process (IPC handlers, preload)electron/ipc/— backend IPC handlers (pty, git, tasks, persistence)src/store/— app state management
- Functional components only (SolidJS signals/stores, no classes)
- Electron IPC for all frontend-backend communication
- IPC channel names defined in
electron/ipc/channels.ts(shared enum) strict: trueTypeScript, noany
- NEVER push to origin or any remote
- NEVER commit directly to main or master
- NEVER force push
- Work only on the branch you were given
- Do not install new dependencies without asking
- Do not delete files unless explicitly told to
- Keep changes focused — only modify what is needed for the task
