Skip to content

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 dev

Run checks

bun test apps/desktop/src/main/pi/protocol.test.ts
bun run --cwd apps/desktop typecheck
bun run --cwd apps/web typecheck

Choose 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 AppImage

Build 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.