CodeNomad/packages/electron-app
Pascal André 07f29d08d5
feat(opencode): migrate CodeNomad to native V2
Replace the V1 SDK, custom plugin, and per-workspace runtimes with the pinned OpenCode V2 client and one shared service. Model workspaces through native locations and route sessions, messages, events, files, VCS, permissions, questions, providers, commands, and MCP directly through V2 APIs.

Remove the legacy plugin and background-process layers, use native Shell and PTY support, preserve server-side Git mutations where V2 lacks parity, and update the UI, packaging, CI, architecture documentation, and translations for the new model.

Add focused coverage for shared-service ownership, Windows and WSL startup, proxy boundaries, worktree event routing, native event normalization, provider authentication, voice instructions, and location-scoped requests. Server and UI typechecks pass; remaining security review items and the real opencode2 smoke test are documented in MIGRATION_V2.md and will be completed before the draft PR is marked ready.
2026-08-12 20:09:44 +02:00
..
electron fix(restore): simplify persistence and harden cross-platform cleanup (#602) 2026-07-17 22:17:15 +01:00
scripts Reduce App package sizes (#453) 2026-05-15 19:13:13 +01:00
.gitignore build: bundle node runtime for desktop packages 2026-05-04 20:08:04 +01:00
electron.vite.config.ts Reduce App package sizes (#453) 2026-05-15 19:13:13 +01:00
package.json feat(opencode): migrate CodeNomad to native V2 2026-08-12 20:09:44 +02:00
README.md Update Readmes 2025-11-21 12:37:24 +00:00
tsconfig.json fix(desktop): bundle CLI resources and request mic access 2026-03-28 15:30:14 +00:00

CodeNomad App

This package contains the native desktop application shell for CodeNomad, built with Electron.

Overview

The Electron app wraps the CodeNomad UI and Server into a standalone executable. It provides deeper system integration, such as:

  • Native window management
  • Global keyboard shortcuts
  • Application menu integration

Development

To run the Electron app in development mode:

npm run dev

This will start the renderer (UI) and the main process with hot reloading.

Building

To build the application for your current platform:

npm run build

To build for specific platforms (requires appropriate build tools):

  • macOS: npm run build:mac
  • Windows: npm run build:win
  • Linux: npm run build:linux

Structure

  • electron/main: Main process code (window creation, IPC).
  • electron/preload: Preload scripts for secure bridge between main and renderer.
  • electron/resources: Static assets like icons.