https://github.com/fabric0de/gitlite
A fast, open-source desktop Git client built with Rust, Tauri, and Svelte.
https://github.com/fabric0de/gitlite
desktop-app developer-tools git git-client opensource rust svelte tauri
Last synced: about 1 month ago
JSON representation
A fast, open-source desktop Git client built with Rust, Tauri, and Svelte.
- Host: GitHub
- URL: https://github.com/fabric0de/gitlite
- Owner: fabric0de
- License: mit
- Created: 2026-02-17T06:55:53.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2026-02-17T07:36:04.000Z (about 1 month ago)
- Last Synced: 2026-02-17T12:51:25.293Z (about 1 month ago)
- Topics: desktop-app, developer-tools, git, git-client, opensource, rust, svelte, tauri
- Language: Svelte
- Homepage:
- Size: 402 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
- Security: SECURITY.md
- Roadmap: ROADMAP.md
Awesome Lists containing this project
README
# GitLite
GitLite is a desktop Git client built with Rust, Tauri, and Svelte.
## Features
- Repository/branch/commit/diff workflows
- Stage/unstage/commit operations
- Remote sync over HTTPS and SSH (`fetch`, `pull`, `push`)
- Stash management (`list`, `create`, `apply`, `drop`)
- GitHub OAuth device flow integration
- Multi-project tabs in one window
- Responsive 3-panel UI with Dark/Light/System themes
## Tech Stack
- Backend: Rust, `git2`, Tauri 2
- Frontend: Svelte 5, Vite, TailwindCSS
- Testing: Vitest, Playwright, Rust tests
## Repository Structure
- `/Users/kimjunghyeon/my-workspace/GitLite/src-tauri`: Tauri + Rust backend
- `/Users/kimjunghyeon/my-workspace/GitLite/ui`: Svelte frontend
- `/Users/kimjunghyeon/my-workspace/GitLite/docs/IPC.md`: IPC contract
## Quick Start
### Requirements
- Rust (stable)
- Node.js 20+
- pnpm
### Install
```bash
pnpm run ui:install
```
### Run UI only
```bash
pnpm run ui:dev
```
### Run Tauri app
```bash
pnpm run tauri:dev
```
## Quality Checks
```bash
pnpm run check:all
```
This runs:
- `pnpm run ui:check`
- `pnpm run ui:test`
- `pnpm run ui:e2e`
- `pnpm run tauri:check`
For large-history UI performance checks:
```bash
pnpm run ui:e2e:perf
```
## GitHub OAuth
1. Create a GitHub OAuth App for device flow.
2. Set the Client ID in GitLite Settings.
3. Complete the login flow from the app.
In Tauri runtime, OAuth tokens are stored in the OS credential store via `keyring`.
## Releases
- Conventional Commits are required for clean release notes.
- `release-please` is used for release PR/tag automation.
- Versioning follows SemVer pre-1.0 with tags like `v0.x.y`.
## Documentation
- `/Users/kimjunghyeon/my-workspace/GitLite/CONTRIBUTING.md`
- `/Users/kimjunghyeon/my-workspace/GitLite/CODE_OF_CONDUCT.md`
- `/Users/kimjunghyeon/my-workspace/GitLite/SECURITY.md`
- `/Users/kimjunghyeon/my-workspace/GitLite/docs/IPC.md`
- `/Users/kimjunghyeon/my-workspace/GitLite/docs/versioning-policy.md`
- `/Users/kimjunghyeon/my-workspace/GitLite/docs/secrets-inventory.md`
## Local Git Hooks
```bash
./scripts/setup-hooks.sh
```
## License
MIT (`LICENSE`)