b2cdd12ce045c4368689cd6f7d2b80a28d6e70cd
Enable macOS private API and make the app window transparent. Add tauri feature and tauri.conf settings (macOSPrivateApi + transparent) and call set_background_color in setup to use an RGBA transparent background. Adjust CSS so body is transparent, add --radius-window, and move app background to #app/.layout with border-radius and overflow hidden to preserve rounded transparent window styling.
Gitpub Desktop
Gitpub Desktop is a lightweight, cross-platform Git client built with Tauri, Rust, and plain HTML/CSS/JavaScript. It connects to any compatible self-hosted Gitea instance (including Gitpub) without hardcoding a single backend.
Stack
- Tauri + Rust backend commands
- Vanilla HTML/CSS/JS frontend (no framework)
- System-installed Git for repository operations
- Gitea REST API for server-side repository listing and account context
Project Structure
src-tauri/Rust backend and Tauri application setupfrontend/vanilla frontend shellfrontend/assets/static assetsfrontend/css/UI stylesfrontend/js/application modulesfrontend/components/shared component/template area
MVP Included
- First-launch setup flow for adding first Gitea server
- Multi-server backend management (add/edit/remove/switch/default)
- Dynamic API base URL generation (
<server>/api/v1) - Connection testing against Gitea API
- Repository dashboard with search and mock cards fallback
- Read-only repository viewer for remote Gitea repos and local clones
- Local repository open + recent repositories
- Rust Git commands: clone, pull, push, status, branch
- Settings for git path, clone directory, and theme placeholder
Development
Prerequisites
- Node.js (npm comes with it)
- Rust via
rustup(required for the Tauri backend) - Platform-specific Tauri dependencies (WebView2 on Windows, Xcode tools on macOS, etc.) — see the Tauri prerequisites for your OS
- Git installed and available on your
PATH(the app shells out togitfor clone, pull, push, and related commands)
Start the app in dev mode
From the repository root:
npm install
npm run dev
This runs the Tauri dev process, which loads the static frontend from frontend/ and hot-reloads the Rust side when you change src-tauri/. Edit HTML/CSS/JS under frontend/ and refresh the window (or rely on your usual workflow) as needed.
Production build
npm install
npm run tauri:build
Installers and bundles are emitted under src-tauri/target/release/bundle/ (exact paths depend on the target platform).
Useful commands
| Command | Purpose |
|---|---|
npm run dev |
Desktop app in development mode |
npm run tauri:build |
Release build and platform bundles |
npm run tauri -- <args> |
Forward arguments to the Tauri CLI (e.g. npm run tauri -- info) |
Notes
- There is no separate Vite/webpack dev server; the UI is plain static files under
frontend/. - Point the app at a running Gitea-compatible instance during setup; API calls use
<your-server>/api/v1.
Description
Languages
JavaScript
53.1%
Rust
26.3%
CSS
19.9%
HTML
0.7%