Getting started
Build from source
The repository is a Bun workspace. Electron is the desktop runtime; Bun manages dependencies and project scripts.
Requirements
- Bun
- Git
- Platform build tools required by Electron Builder for your target OS
Run the desktop app
git clone https://github.com/nonlooped/nativepi.git
cd nativepi
bun install
bun run devRun checks
bun test apps/desktop/src/main/pi/protocol.test.ts
bun run --cwd apps/desktop typecheck
bun run --cwd apps/web typecheckChoose the checks that cover your change; the commands above are examples. The desktop source is in apps/desktop; the public graphical contract is in packages/extension-api.
For a complete workspace check, bun run check, bun run test, and bun run build remain available from the repository root.
Build and package
bun run package -- --dir # package without an installer
bun run package -- --win # Windows installer
bun run package -- --mac # macOS disk image
bun run package -- --linux # Linux AppImageBuild installers on their target platform. Public releases are produced by the repository's release automation rather than by manually uploading local artifacts.
Stable publication checks the Unreleased changelog daily at 00:17 UTC. Nightly checks run after successful main CI and hourly at :47, publishing only eligible app changes with a thirty-minute cooldown. Nightly versions use the next minor version followed by -nightly.YYYYMMDDHHMM. See the release guidefor changelog entries, versioning, and repository setup. Linux packaging requires Node 24.15 or newer, Python, make, and a C++ compiler.