andrew 558cd3ddd7 Updated taskbar to be OS agnostic
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
2026-05-13 13:28:11 +12:00
2026-05-12 22:36:39 +12:00

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 setup
  • frontend/ vanilla frontend shell
  • frontend/assets/ static assets
  • frontend/css/ UI styles
  • frontend/js/ application modules
  • frontend/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 to git for 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.
S
Description
No description provided
Readme 1.8 MiB
Languages
JavaScript 53.1%
Rust 26.3%
CSS 19.9%
HTML 0.7%