{"id":51580789,"url":"https://github.com/parazeeknova/gitcha","last_synced_at":"2026-07-11T06:01:29.000Z","repository":{"id":358526963,"uuid":"1241311692","full_name":"parazeeknova/gitcha","owner":"parazeeknova","description":"one app to gitcha all","archived":false,"fork":false,"pushed_at":"2026-06-21T10:20:11.000Z","size":4160,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-21T12:09:31.969Z","etag":null,"topics":["cross-platform","git","git-gui","gitclient","github-actions","github-client","gui","native-app","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/parazeeknova.png","metadata":{"files":{"readme":".github/README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-05-17T08:12:31.000Z","updated_at":"2026-06-21T10:20:12.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/parazeeknova/gitcha","commit_stats":null,"previous_names":["parazeeknova/palimpsest","parazeeknova/gitcha"],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/parazeeknova/gitcha","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parazeeknova%2Fgitcha","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parazeeknova%2Fgitcha/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parazeeknova%2Fgitcha/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parazeeknova%2Fgitcha/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/parazeeknova","download_url":"https://codeload.github.com/parazeeknova/gitcha/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parazeeknova%2Fgitcha/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35352623,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-11T02:00:05.354Z","response_time":104,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cross-platform","git","git-gui","gitclient","github-actions","github-client","gui","native-app","rust"],"created_at":"2026-07-11T06:01:27.422Z","updated_at":"2026-07-11T06:01:28.992Z","avatar_url":"https://github.com/parazeeknova.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n  \u003cimg src=\"./assets/logo.svg\" alt=\"gitcha logo\" width=\"30%\"/\u003e\n  \u003ch3\u003e\u003cstrong\u003eG I T C H A\u003c/strong\u003e\u003c/h3\u003e\n  \u003csub\u003e\u003cem\u003eone app to gitcha all\u003c/em\u003e\u003c/sub\u003e\n  \u003cbr /\u003e\u003cbr /\u003e\n  \u003ca href=\"https://github.com/parazeeknova/gitcha/releases/latest\"\u003e\u003cimg src=\"https://img.shields.io/badge/v0.1.70-blue?style=for-the-badge\u0026label=latest\" alt=\"latest release version\" /\u003e\u003c/a\u003e\n  \u003cimg src=\"https://img.shields.io/badge/rust-2024-orange?style=for-the-badge\u0026logo=rust\" alt=\"rust 2024 edition\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/license-MIT-green?style=for-the-badge\" alt=\"MIT license\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/binary-~37MB-purple?style=for-the-badge\" alt=\"binary size ~37MB\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/platform-Linux%20%7C%20macOS%20%7C%20Windows-grey?style=for-the-badge\" alt=\"supported platforms: Linux, macOS, Windows\" /\u003e\n\u003c/div\u003e\n\n## download\n\npre-built binaries from the [latest release](https://github.com/parazeeknova/gitcha/releases/latest):\n\n| platform | format | link |\n|----------|--------|------|\n| macOS (arm64) | `.dmg` | [gitcha_0.1.70_aarch64.dmg](https://github.com/parazeeknova/gitcha/releases/download/v0.1.70/gitcha_0.1.70_aarch64.dmg) |\n| macOS (x64) | `.dmg` | [gitcha_0.1.70_x64.dmg](https://github.com/parazeeknova/gitcha/releases/download/v0.1.70/gitcha_0.1.70_x64.dmg) |\n| linux | `.deb` | [gitcha_0.1.70_amd64.deb](https://github.com/parazeeknova/gitcha/releases/download/v0.1.70/gitcha_0.1.70_amd64.deb) |\n| linux | `.AppImage` | [gitcha_0.1.70_x86_64.AppImage](https://github.com/parazeeknova/gitcha/releases/download/v0.1.70/gitcha_0.1.70_x86_64.AppImage) |\n| linux | `.tar.gz` | [gitcha_0.1.70_x86_64.tar.gz](https://github.com/parazeeknova/gitcha/releases/download/v0.1.70/gitcha_0.1.70_x86_64.tar.gz) |\n| linux | `PKGBUILD` | [PKGBUILD](https://github.com/parazeeknova/gitcha/releases/download/v0.1.70/PKGBUILD) |\n| windows | `.exe` | [gitcha_0.1.70_x64-setup.exe](https://github.com/parazeeknova/gitcha/releases/download/v0.1.70/gitcha_0.1.70_x64-setup.exe) |\n| windows | `.msi` | [gitcha_0.1.70_x64_en-US.msi](https://github.com/parazeeknova/gitcha/releases/download/v0.1.70/gitcha_0.1.70_x64_en-US.msi) |\n\n## what is this ?\n\nthe git GUI that does what the paid ones do, but it's free, native, and local-first. commit graph, syntax-highlighted diffs, staging, drag-to-merge, embedded terminal, PR management, Actions monitoring, release browsing all in a single ~8MB rust binary. no electron, no subscription, no account, no cloud. your repos never leave your machine. gitcha just reads your `.gitconfig`, your ssh keys, your gpg config, and shows you everything git already knows.\n\n## features\n\n\u003cdiv align=\"center\" width=\"100%\"\u003e\n\n  \u003cimg src=\"./assets/preview.png\" alt=\"gitcha screenshot\"/\u003e\n\n\u003c/div\u003e\n\n\u003cbr /\u003e\n\n- **commit graph** — live DAG with color-coded branches, merge curves, clickable nodes\n- **diff viewer** — syntax-highlighted, word-level inline diffs from libgit2\n- **file tree** — working tree with git status badges and file-type icons\n- **staging \u0026 commit** — stage files/hunks, amend, sign-off, skip hooks, stash mode\n- **embedded terminal** — full shell via alacritty + PTY, right in the app\n- **command palette** — Ctrl+K fuzzy search for every action\n- **remote management** — fetch, pull, push, remotes, all in the same graph\n- **drag-to-merge** — grab a branch, drop it, done\n- **GitHub integration** — device flow OAuth, PRs, Actions, releases, packages in sidebar\n- **PR management** — browse PRs, check status, view code diffs, linked to branches\n- **Actions \u0026 CI** — pass/fail status per workflow, linked to triggering branch\n- **releases \u0026 packages** — changelogs, assets, npm/container packages, version comparison\n- **SQLite cache** — local snapshots, fingerprint-based invalidation, live refresh\n- **multi-tab** — multiple repos, per-tab state, session persists across restarts\n- **setup wizard** — detect git identity, SSH/GPG keys, optional GitHub sign-in\n\n## requirements\n\n**to run:** nothing. download the binary for your platform and it just works.\n\n**to build from source:** [rustup](https://rustup.rs) with the latest stable toolchain (`rustup update stable`), plus:\n- **linux:** git rust/rustup\n- **macos:** Xcode command line tools\n- **windows:** MSVC build tools or Visual Studio\n\n## building from source\n\n```bash\ngit clone https://github.com/parazeeknova/gitcha.git\ncd gitcha\ncargo build --release\n# binary at target/release/gitcha\n```\n\n### arch linux\n\n**pre-built binary** (from releases):\n\n```bash\ngit clone https://github.com/parazeeknova/gitcha.git\ncd gitcha\nmakepkg -si\n```\n\nor with make: `make pkg-install`\n\n**build from source** (latest main):\n\n```bash\ngit clone https://github.com/parazeeknova/gitcha.git\ncd gitcha\nmakepkg -si -p PKGBUILD.git\n```\n\nor with make: `make pkg-git-install`\n\n## development\n\n```bash\nmake dev           # debug run\nmake run-release   # release run\nmake lint          # clippy + format check\nmake fmt           # auto-format\nmake test          # test suite\nmake build         # release build\n```\n\n## uninstall\n\n**manual install:**\n\n```bash\nsudo make uninstall\n```\n\n**arch linux (makepkg):**\n\n```bash\nsudo pacman -R gitcha-bin    # pre-built\nsudo pacman -R gitcha-git    # from source\n```\n\n**app data:** `~/.local/share/gitcha` — remove with `make clean-local`\n\n## what's not here (yet)\n\nno issue management, no interactive rebase (merge via drag-and-drop only), no inline PR commenting, no AI summarizer. it's growing, but it's still a local-first git tool — not a platform.\n\n## contributing\n\nopen an issue if something is broken. open a pr if you fixed it. the codebase is intentionally small every module does one thing. if a pr makes a module do two things, we'll talk about it.\n\ngit is yours. your history is yours. every commit you ever made is sitting on your disk right now, complete and permanent, asking nothing from you. a tool that lets you see it, really see it, should be too.\n\nthat's gitcha. one app to gitcha all.\n\n\n```text\n⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n⠀⠀⠀⠀⠀⠀⣄⠀⠀⠀⣦⣤⣾⣿⠿⠛⣋⣥⣤⣀⠀⠀⠀⠀\n⠀⠀⠀⠀⡤⡀⢈⢻⣬⣿⠟⢁⣤⣶⣿⣿⡿⠿⠿⠛⠛⢀⣄⠀\n⠀⠀⢢⣘⣿⣿⣶⣿⣯⣤⣾⣿⣿⣿⠟⠁⠄⠀⣾⡇⣼⢻⣿⣾      gitcha by @parazeeknova\n⣰⠞⠛⢉⣩⣿⣿⣿⣿⣿⣿⣿⣿⠋⣼⣧⣤⣴⠟⣠⣿⢰⣿⣿\n⣶⡾⠿⠿⠿⢿⣿⣿⣿⣿⣿⣿⣿⣈⣩⣤⡶⠟⢛⣩⣴⣿⣿⡟      git already knows everything.\n⣠⣄⠈⠀⣰⡦⠙⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⡛⠛⠛⠁      gitcha just makes it visible.\n⣉⠛⠛⠛⣁⡔⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠥⠀⠀      local, native, free.\n⣭⣏⣭⣭⣥⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⢠⠀⠀⠀⠀⠀\n```\n— harsh / [@parazeeknova](https://przknv.cc)\n\n\u003cdiv align=\"center\"\u003e\n  \u003csub\u003eMIT licensed · open source · free to use\u003c/sub\u003e\n  \u003cbr /\u003e\u003cbr /\u003e\n  \u003csub\u003ethis project is possible due to \u003ca href=\"https://itssingularity.com\"\u003eSingularity Works\u003c/a\u003e\u003c/sub\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparazeeknova%2Fgitcha","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fparazeeknova%2Fgitcha","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparazeeknova%2Fgitcha/lists"}