Skip to content

Latest commit

 

History

History
38 lines (27 loc) · 1.35 KB

File metadata and controls

38 lines (27 loc) · 1.35 KB

Parallel Code

Electron desktop app — SolidJS frontend, Node.js backend. Published for macOS and Linux only (no Windows).

Stack

  • Frontend: SolidJS, TypeScript (strict), Vite
  • Backend: Node.js (Electron, node-pty)
  • Package manager: npm

Commands

  • npm run dev — start Electron app in dev mode
  • npm run build — build production Electron app
  • npm run typecheck — run TypeScript type checking

Project Structure

  • 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

Conventions

  • 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: true TypeScript, no any

Specs

This repo uses OpenSpec. Capability specs for current behavior live under openspec/specs/. For new or changed behavior, propose a change in openspec/changes/<name>/ (e.g. via /opsx:propose) rather than editing specs directly — the change is archived into specs/ when it ships. Run openspec validate --all --strict before committing.