# Build from source

Clone [4regab/Hover](https://github.com/4regab/Hover). Hover is a Rust workspace; it needs **Rust 1.89 or newer**, and the exact toolchain it is tested with is pinned in `rust-toolchain.toml`.

## Windows

Install the MSVC build tools as well.

```powershell
.\build.ps1 release run      # build and run
.\build.ps1 test             # all tests
.\build.ps1 publish          # hoverai.exe in .\publish
.\build.ps1 installer        # Hover-Setup-<version>.exe in .\dist (needs Inno Setup 6 or 7)
```

## Linux

On Ubuntu or Debian the build needs these packages (the tests also use `fonts-dejavu-core dbus gnome-keyring python3-gi`):

```sh
sudo apt install build-essential pkg-config libfontconfig1-dev libfreetype-dev \
  libasound2-dev libxkbcommon-dev libxkbcommon-x11-dev
```

```sh
make                         # release build
make test
sudo make install            # /usr/local (PREFIX=, DESTDIR= as usual); make uninstall
make package                 # .deb and tarball in dist/
```

## macOS

Needs macOS 14 or later, Xcode's command line tools (`xcode-select --install`) and Node, for the office page.

```sh
scripts/build-macos.sh             # dist/macos-osx-arm64/Hover.app, signed ad hoc
```

`HOVER_ARCH=x64` builds for Intel. See [Hover on macOS](https://tryhover.co/docs/macos.md) for what the app does and what it asks for.

## Releases

Every pull request runs the tests on Windows and Linux, and builds the Mac app on macOS. Publishing a release automatically is still being set up, so the files on a [release](https://github.com/4regab/Hover/releases) are built and attached by hand for now.

> **Note:** Developer documentation lives in `docs/development` in the repo: architecture, testing, profiling and Windows notes. `AGENTS.md` summarises how the app works for people and AI agents changing it.

---

Part of the [Hover docs](https://tryhover.co/docs.md) (Reference). HTML version: https://tryhover.co/docs/build. Index for agents: https://tryhover.co/llms.txt