558cd3ddd790cfbbd6222cc4a750cd1c40bc5f18
Updated task bar to use MacOS traffic lights on left when on MacOS and the regular buttons on the right when it is Windows or Linux
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%