andrew 6b245c628c Initial commit: Gitpub Desktop scaffold
Add complete project scaffold for Gitpub Desktop (Tauri + Rust backend and vanilla HTML/CSS/JS frontend). Includes frontend entry (index.html), styles (base/components CSS), app logic and modules (app.js, gitea-api.js, tauri-api.js, state.js, storage.js), static assets and component READMEs, README.md, VSCode recommendations, and project config (package.json, package-lock.json). Also adds src-tauri skeleton (Cargo.toml, main.rs, lib.rs, build.rs, tauri.conf.json), application icons, and .gitignore files. Provides MVP plumbing for server setup and management, repository dashboard, local repo opening, and Git operations via Tauri invoke (clone/pull/push/status/branch).
2026-05-07 14:41:15 +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
  • Local repository open + recent repositories
  • Rust Git commands: clone, pull, push, status, branch
  • Settings for git path, clone directory, and theme placeholder

Run

npm install
npm run tauri:dev
S
Description
No description provided
Readme 1.8 MiB
Languages
JavaScript 53.1%
Rust 26.3%
CSS 19.9%
HTML 0.7%