7753abd8965e55e03432611865bee0892a69de2a
Add Lucide icon library and switch many inline SVGs to programmatically generated Lucide icons for consistent styling and reuse. Adds frontend/vendor/lucide.min.js and includes it in index.html; adds helper functions (escapeSvgAttr, svgAttrs, lucideIcon) in app.js and replaces numerous hard-coded SVG strings with Lucide-generated icons and CSS utility classes. Update components.css with .gd-lucide-icon, color helpers for folder/file icons, and remove a global stroke-width override so icon strokeWidth can be controlled per icon. Small accessibility and UI tweaks: use aria-label/title on several buttons and swap icons in modals, menus and toolbars. Also updates package.json/package-lock.json (dependency adjustments).
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%