Skip to content

Development

Kamil Maciag edited this page Oct 26, 2026 · 2 revisions

Development

Halny is an Electron + React + Vite application talking to the vibe-acp CLI over ACP (JSON-RPC over stdio).

Layout

src/main/      Electron main process: window, IPC, ACP manager, serve (HTTPS+WS), remote SSH
src/preload/   Typed IPC bridge (window.api)
src/renderer/  React UI (chat, sidebar, dock, settings, statistics, history)
scripts/       packaging helpers, Linux installer

Commands

npm install
npm run dev         # dev mode with hot reload
npm run build       # build main + preload + renderer
npm run typecheck   # all three tsconfigs
npm run dist        # distributables (installer, portable, AppImage)

Conventions

  • i18n: every user-visible string must land in all 6 locale files (src/renderer/src/i18n/)
  • Commits: English, with an Assisted by: trailer when applicable

Releases

  • CI (.github/workflows/release.yml) builds on tag v*: Windows installer + portable, Linux AppImage + zip, and publishes a GitHub Release automatically
  • Release flow: bump package.json version, commit, tag vX.Y.Z, push the tag; re-tag if the workflow did not start

Clone this wiki locally