Building from source
Abe is a Tauri 2 app: a Rust backend with a React and TypeScript interface. Building it yourself takes a few minutes once the prerequisites are installed.
Prerequisites
Section titled “Prerequisites”- Node.js 20 or later (with npm)
- Rust, stable toolchain, via rustup
- The Tauri 2 system dependencies for your OS:
- Microsoft C++ Build Tools with the Desktop development with C++ workload
- WebView2 runtime (already installed on Windows 11; the Evergreen bootstrapper covers Windows 10)
- Rust with the MSVC toolchain:
rustup default stable-msvc
- Xcode Command Line Tools:
xcode-select --install
On Debian or Ubuntu:
sudo apt updatesudo apt install libwebkit2gtk-4.1-dev build-essential curl wget file \ libxdo-dev libssl-dev libayatana-appindicator3-dev librsvg2-dev libasound2-devOther distributions: see the Tauri prerequisites. libasound2-dev (ALSA) is needed for audio capture.
The official Tauri prerequisites guide has full details for every platform.
Build and run
Section titled “Build and run”-
Clone the repository:
Terminal window git clone https://github.com/HardHeadHackerHead/honest-abe.gitcd honest-abe -
Install JavaScript dependencies:
Terminal window npm install -
Run in development mode, with hot reload for the interface:
Terminal window npm run tauri devThe first run compiles the Rust backend and takes a while. Later runs are much faster.
-
Build an installer for your platform:
Terminal window npm run tauri buildOutput lands in
src-tauri/target/release/bundle/.
- Code signing: your own builds are unsigned, so Windows SmartScreen and macOS Gatekeeper will warn the first time you open them. That’s expected.
- Updates: builds from source have the auto-updater off by default, so they never try to replace themselves with official binaries.
- macOS permissions are granted per app bundle. A dev build counts as a different app from the installed release, so macOS asks for Microphone, Accessibility and Input Monitoring again.
Ready to change something? See Contributing.
