All your local git repos. In one calm, native dashboard.
A lightweight desktop app that surfaces every local repository on your machine, its working-tree status, open pull requests, and CI checks — without juggling a browser, a terminal, and three Electron apps.
- Local-first. Recrest reads your repositories directly from disk. Nothing leaves your machine unless you open a remote PR — no telemetry, no cloud sync, no Recrest server.
- Native & tiny. Rust + Tauri core, ~12 MB bundle, under 80 MB RAM at idle. Not Electron.
- Works offline. The local status keeps updating while you work; remote state resumes automatically when you reconnect.
- Tokens stay in the OS keychain. macOS Keychain, Windows Credential Manager, libsecret on Linux. Never on disk.
- Keyboard-first.
Ctrl/Cmd + Kopens the command palette. Everything else is one key away. - i18n. English and German ship today. OS locale is auto-detected.
- Light / dark / system theme. Persisted across restarts.
- Accessible. Meets WCAG 2.1 AA; tested on every commit.
| Provider | Status | Tokens | PRs | Diffs + comments | CI / pipelines | Deployments |
|---|---|---|---|---|---|---|
| GitHub | ✅ Supported | PAT | ✅ | ✅ | ✅ Actions | ✅ Pages |
| GitLab | ✅ Supported | PAT | ✅ | ✅ | ✅ Pipelines | ✅ Pages |
| Bitbucket | ✅ Supported | App Password | ✅ | ✅ | ✅ Pipelines | 🧪 Detected |
All three providers back PR list/detail, repos, orgs/groups/workspaces, diffs with inline comments, CI/pipeline runs, and deployment status. OAuth is scaffolded but not user-facing yet — auth is PAT / app-password only.
The provider layer lives behind a narrow async trait
(src-tauri/src/providers/trait.rs) so adding a new host or swapping in a
WASM-plugin implementation later is a drop-in.
Per-repo commit history, author leaderboards, streaks, CI health, time-to-merge and a language breakdown — all computed locally, nothing leaves your machine.
Pre-built installers for every tagged release live on the Releases page. Pick the file for your platform:
| Platform | File |
|---|---|
| macOS 10.15+ (Apple Silicon) | recrest-v<version>-mac-arm64.dmg |
| macOS 10.15+ (Intel) | recrest-v<version>-mac-x64.dmg |
| Windows 10 / 11 (x64) | recrest-v<version>-windows-x64.exe |
| Windows 11 (ARM64, best-effort) | recrest-v<version>-windows-arm64.exe |
| Debian / Ubuntu | recrest-v<version>-linux-x64.deb |
| Fedora / RHEL | recrest-v<version>-linux-x64.rpm |
| Arch Linux / derivatives | AUR: recrest-bin, recrest, recrest-git |
<version> is the tag without its leading v — for v0.11.0 the macOS Apple
Silicon file is recrest-v0.11.0-mac-arm64.dmg. There is no universal macOS
disk image any more: Apple Silicon and Intel are separate builds. The Windows
download is the NSIS .exe installer, not an MSI. Linux is x86_64 only —
there are no aarch64 builds yet.
No AppImage. It was dropped in favour of
.deb,.rpmand the AUR packages; a Flatpak on Flathub is in preparation (packaging/flatpak/). One consequence is worth knowing: Linux has no in-app auto-update. The AppImage was the only Linux format the updater could replace in place. Recrest still tells you when a new version exists — through your package manager on Arch, and as a notice with a link everywhere else.
ARM64 Windows is built on a GitHub-hosted
windows-11-armrunner whose availability varies by plan and region. The release pipeline treats that leg as optional (a missing asset is only a warning), so a given release may not carryrecrest-v<version>-windows-arm64.exe. If it isn't there, take the x64 installer — it runs under emulation.
Releases also carry assets named
Recrest_<version>_*plus.sigfiles andlatest.json. Those are the auto-updater payloads, referenced bylatest.jsonunder those exact names; they are not the files to download by hand.
Heads up: Recrest is not code-signed yet. Apple Developer IDs cost USD 99/year and a Windows EV certificate starts at USD 300+/year — we're an unfunded open-source project and can't carry that bill yet. The installers are built directly from the tagged source on GitHub Actions; you can read every line of the pipeline in
.github/workflows/release-tauri.ymland verify every artifact againstSHA256SUMS.txt.
- Download
recrest-v<version>-windows-x64.exefrom the Releases page. - Double-click to launch the installer.
- Windows SmartScreen will say "Windows protected your PC — Unknown publisher." That's the unsigned-installer warning, not malware.
- Click More info → Run anyway.
The warning goes away once enough users run Recrest and Microsoft's reputation system catches up — or once we can afford a signing cert.
- Open the
.dmgand drag Recrest.app into Applications. - First launch: Gatekeeper will block the app with "Recrest can't be opened because the developer cannot be verified."
- Two ways to allow it:
-
In Finder: right-click (or
Ctrl-click) Recrest.app → Open. Confirm in the dialog. macOS remembers the choice. -
In Terminal:
xattr -cr /Applications/Recrest.app
-
-
deb:
sudo apt install ./recrest-v*-linux-x64.deb -
rpm:
sudo dnf install ./recrest-v*-linux-x64.rpm -
Arch Linux (AUR): three packages.
recrest-binrepacks the published.deband installs in seconds;recrestbuilds the tagged release from source;recrest-gitbuildsmain.Not published to the AUR yet. The PKGBUILDs live in this repo (see below); the commands underneath start working once the packages are pushed to
aur.archlinux.org. Until then, build frompackaging/aur/recrest-bin/directly withmakepkg -si.# with an AUR helper paru -S recrest-bin # or: recrest / recrest-git # or by hand git clone https://aur.archlinux.org/recrest-bin.git cd recrest-bin && makepkg -si
recrestandrecrest-gitcompile the Rust backend in release profile, so the first build takes a while —recrest-binexists to avoid exactly that. The PKGBUILD sources live inpackaging/aur/— send packaging fixes there, not to the AUR clone.This is the only Linux channel where updates arrive on their own:
pacmanupgrades Recrest with everything else. The.deband.rpmhave to be re-downloaded by hand — there is no APT or DNF repository.
No signature prompts — Linux simply trusts the repo you installed from.
Every release ships a SHA256SUMS.txt next to the installers. Verify it:
# macOS / Linux
shasum -a 256 -c SHA256SUMS.txt
# Windows PowerShell
Get-FileHash recrest-v*-windows-x64.exe -Algorithm SHA256If a line comes back as FAILED, stop and re-download. Don't run anything whose checksum doesn't match.
If you prefer to build it yourself (and never see an OS warning):
- Node.js ≥ 22.20 —
.nvmrcpins the exact version. - Yarn 1.x —
npm i -g yarn. - Rust toolchain (stable) — required for the desktop build. Skip only
if you're iterating on UI with
yarn dev:web. - Platform dependencies for Tauri — see tauri.app/start/prerequisites.
git clone https://github.com/SoftVentures/Recrest.git
cd Recrest
yarn install # shared workspace builds automatically via postinstall
yarn dev # full Tauri shellFor UI-only iteration (no Rust toolchain needed):
yarn dev:web # Vite dev server at http://localhost:3000IPC calls no-op gracefully outside the Tauri runtime, so the app renders and routes work in a plain browser.
yarn build # Tauri installer for your platform, in app/src-tauri/target/release/bundle/| Layer | Choice |
|---|---|
| Desktop shell | Tauri v2 |
| Frontend | React 19 · TypeScript (strict) · Material UI v9 · Emotion (styled) · Nivo charts · lucide-react |
| State | Redux Toolkit + react-redux |
| i18n | react-i18next |
| Backend | Rust — git2 (libgit2), notify, reqwest, keyring |
| Responsive | device-type-detection |
| Build | Vite 5 · Yarn 1.x workspaces |
| Tests | Vitest (unit/component) · Playwright (E2E) · axe-core (a11y) |
Recrest/
├─ app/ # @recrest/app — React frontend + Rust Tauri backend
│ ├─ src/ # React · Redux · i18n · hooks
│ └─ src-tauri/ # Rust: commands, git, providers, auth, config
├─ shared/ # @recrest/shared — framework-free constants, types, utils
├─ landingpage/ # @recrest/landingpage — marketing site, GitHub Pages
├─ tests/ # @recrest/tests — Playwright E2E suite
└─ docs/
└─ plans/ # phased implementation plans + acceptance checklist
Each workspace has its own CLAUDE.md with workspace-specific conventions.
All commands run from the repo root via Yarn workspaces — no need to cd
into sub-packages.
| Command | Purpose |
|---|---|
yarn dev |
Full Tauri desktop dev shell |
yarn dev:web |
Vite dev server only (browser, no Rust) |
yarn build |
Production Tauri bundle |
yarn build:landingpage |
Landingpage production bundle |
yarn test |
Vitest unit + component tests |
yarn test:e2e |
Playwright E2E (needs yarn dev:web running) |
yarn test:ts |
Typecheck all workspaces |
yarn lint |
ESLint across all workspaces |
yarn format |
Prettier with import sorting |
yarn format:check |
Verify formatting without writing |
Single test file:
yarn workspace @recrest/app test src/store/slices/uiSlice.test.ts
yarn workspace @recrest/tests test:e2e src/e2e/app/01-shell.spec.tsUser config is persisted under the OS-standard config directory:
| OS | Path |
|---|---|
| Windows | %APPDATA%\eu.softventures.recrest\ |
| macOS | ~/Library/Application Support/eu.softventures.recrest/ |
| Linux | ~/.config/eu.softventures.recrest/ |
Contents: settings.json (scan paths, polling interval, default IDE,
theme, locale, registered repos). Tokens live in the OS keychain
under the service eu.softventures.recrest — never in a plain file.
ACCESSIBILITY.md— WCAG 2.1 AA conformance, how we test, how to report barriers.- Privacy section on the landing page — what Recrest reads, what it never sends.
- Imprint, privacy policy, accessibility statement (DE/EN) — available on the live landing page under the Legal footer column.
Before opening a PR, run the full verification locally:
yarn test:ts && yarn lint && yarn test && yarn format:checkAdd every new UI string to both en/ and de/ locale bundles in
app/src/locales/. When you add a Rust IPC command, mirror its
return type as a TypeScript DTO in @recrest/shared so the cross-language
contract stays typed on both ends.
Architecture details and conventions live in the CLAUDE.md files at the
repo root and in each workspace. The phased design lives under
docs/plans/ — start with
00-acceptance-checklist.md, the
source of truth when plan and code diverge.
See CONTRIBUTING.md and
CODE_OF_CONDUCT.md.
MIT — you can do basically anything with Recrest. Attribution appreciated, liability disclaimed.
Recrest is an open-source project under SoftVentures.

