https://github.com/hagicode-org/desktop
Electron desktop app for installing, running, monitoring, and updating HagiCode on developer machines.
https://github.com/hagicode-org/desktop
desktop-app developer-tools electron hagicode local-server react
Last synced: 1 day ago
JSON representation
Electron desktop app for installing, running, monitoring, and updating HagiCode on developer machines.
- Host: GitHub
- URL: https://github.com/hagicode-org/desktop
- Owner: HagiCode-org
- License: agpl-3.0
- Created: 2026-02-02T09:24:03.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-04-26T13:31:20.000Z (1 day ago)
- Last Synced: 2026-04-26T14:00:32.140Z (1 day ago)
- Topics: desktop-app, developer-tools, electron, hagicode, local-server, react
- Language: TypeScript
- Homepage: https://hagicode.com/desktop/
- Size: 13.4 MB
- Stars: 3
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Agents: AGENTS.md
Awesome Lists containing this project
README
# Hagicode Desktop
[简体中文](./README_cn.md)
Hagicode Desktop is the native control center for running and managing HagiCode Server on a developer machine.
## Product overview
The desktop app packages the HagiCode experience into a local-first workflow for setup, monitoring, upgrades, and day-to-day operations.
## Core capabilities
- Monitor local resources and service health from a desktop dashboard
- Start, stop, and switch embedded server versions without leaving the app
- Manage package sources, dependencies, and license information in one place
- Provide onboarding, tray integration, RSS updates, and bilingual UI support
- Offer agent executor choices such as Claude Code, Codex, and GitHub Copilot CLI
## Architecture at a glance
- `src/main/` - Electron main-process services for configuration, runtime control, and package management
- `src/preload/` - the bridge layer between desktop runtime and renderer UI
- `src/renderer/` - React-based desktop interface and Redux state
- `resources/` - packaged desktop assets
- `docs/` - deeper guides for development, signing, and storage sync
## Local development
```bash
npm install
npm run dev
npm run build:prod
```
- `npm run dev` prepares the optional bundled portable toolchain, starts the renderer, watches Electron processes, and launches the app in development mode
- `npm run build:prod` runs the production build plus the smoke test used before packaging
### Development bundled Node runtime
Source-mode development uses the bundled portable toolchain under `resources/portable-fixed/toolchain/`, matching the packaged Desktop layout. There is no separate `.runtime/node-dev/` runtime or `bundled-dev` dependency source.
`npm run prepare:bundled-toolchain:optional` stages the governed Node runtime when the current platform is supported. `npm run dev` runs that preparation step through `predev`.
Managed npm packages are installed beside the selected bundled Node runtime using npm's default global layout:
- Unix-like platforms: `resources/portable-fixed/toolchain/node/bin` and `resources/portable-fixed/toolchain/node/lib/node_modules`
- Windows: `resources/portable-fixed/toolchain/node` and `resources/portable-fixed/toolchain/node/node_modules`
### Development runtime troubleshooting
- Download failures: check network access to the pinned host in `resources/embedded-node-runtime/runtime-manifest.json`, or pre-populate the staged archive cache used by the bundled toolchain preparation script.
- Unsupported platform/architecture: the command uses the platforms pinned in `resources/embedded-node-runtime/runtime-manifest.json`; add a governed platform entry before expecting detection to succeed.
- Version mismatch: rerun `npm run prepare:bundled-toolchain:optional` after governance updates so the staged executable matches the active Node version.
## Related guides
- `docs/development.md` - local development notes and update-source configuration
- `docs/artifact-signing.md` - Windows signing setup
- `docs/azure-storage-sync.md` - downstream release synchronization details