Goal
Create the Electron desktop session shell for Oh My CLI, with a macOS-first presentation and a secure project/session workbench that becomes the shared foundation for later Desktop issues.
Load-bearing execution contract
- This issue intentionally starts from a repository with no Electron dependency. Adding the first minimal Electron dependency, main process, secure preload boundary, renderer shell, build/test configuration, and required CI is the deliverable; their current absence is not a blocker.
- The development host is Linux. Implement and interact with the real Electron
BrowserWindow under Linux Xvfb, and use the GitHub Actions macOS runner for native macOS launch and screenshot validation. No separately provisioned local Mac is required.
- Evidence is three head-SHA-bound artifacts, not one local-host capture: (1) the trusted tmux terminal receipt, (2) Linux Xvfb Electron interaction coverage, and (3) a screenshot artifact produced by the macOS CI job for the same head.
- Maintainer authorization explicitly covers the minimal package, build, test, packaging, and governed workflow changes required for this first Electron slice.
Scope
- Add the Electron application shell with a macOS-first layout, native window lifecycle, and secure preload IPC boundary.
- Provide a project/session rail, main workbench region, inspector region, and a fixed composer shell.
- Keep desktop state session-oriented and compatible with existing CLI workspace/session concepts; do not introduce a parallel settings or workflow authority.
- Include keyboard-accessible navigation, empty/loading/error states, and a built-in desktop diagnostics view.
- Add focused tests and the complete three-part head-SHA-bound evidence set defined above.
Maintainer implementation decision
- Use Electron and the existing Node.js/TypeScript toolchain for this issue.
- Minimal Electron build, test, packaging configuration, and required CI are in scope.
- Do not block on a local macOS host: Linux Xvfb provides implementation interaction coverage and the required macOS CI runner provides native-window validation.
- Keep the secure preload allowlist narrow; do not introduce a second settings or workflow authority.
Acceptance criteria
- A real Electron
BrowserWindow launches under Linux Xvfb and renders the project/session workbench; the macOS CI job launches the same head natively and publishes its window screenshot artifact.
- IPC exposes only allowlisted operations; there is no renderer-side Node access or unrestricted filesystem/process bridge.
- Project/session selection and composer focus are keyboard reachable.
- Empty, loading, and recoverable error states are explicit and visually coherent.
- Tests cover shell lifecycle, IPC validation, and primary navigation states.
- The PR includes a trusted tmux terminal receipt, Linux Xvfb interaction evidence, and a macOS runner screenshot artifact, all bound to the tested head SHA.
Blocked by
Source
Out of scope
Goal
Create the Electron desktop session shell for Oh My CLI, with a macOS-first presentation and a secure project/session workbench that becomes the shared foundation for later Desktop issues.
Load-bearing execution contract
BrowserWindowunder Linux Xvfb, and use the GitHub Actions macOS runner for native macOS launch and screenshot validation. No separately provisioned local Mac is required.Scope
Maintainer implementation decision
Acceptance criteria
BrowserWindowlaunches under Linux Xvfb and renders the project/session workbench; the macOS CI job launches the same head natively and publishes its window screenshot artifact.Blocked by
Source
Out of scope