Skip to content
MyAppDeskPublic

About

Vibe coded Git client that works on my machine

Resources

Contributing

Stars

30 stars

Watchers

0 watching

Forks

Latest commit

Β 

History

750 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Gitcito

Gitcito

A fully vibe-coded Git client. Free.

The whole of git β€” graph, staging by line, rebase, worktrees, submodules, LFS β€” with a UI that shows you git instead of hiding it.

Release License Platforms Sponsor

Gitcito's commit graph

Warning

Honest disclaimer. Gitcito is young. GitHub is the battle-tested path: issues, milestones, notifications, inline CI and project fields are GitHub-only. GitLab (gitlab.com) now gets the full PR detail screen too β€” review, comment, approve and merge. Bitbucket and Azure DevOps can list and create PRs/MRs, but their detail/review/merge screens are not built yet. OpenAI and Anthropic each speak their own API; the remaining AI providers use an OpenAI-compatible call shape and are unverified. If it breaks: well, it works on my machine. PRs welcome. πŸ’œ

Install

Grab the latest build from gitcito's site or Releases β€” the macOS build is signed and notarised.

Then, optionally, open repositories from your terminal:

gitcito .                        # open this folder
gitcito ~/code/api -n "API"      # …with a display name
gitcito . -g "Work"              # …inside a group tab

Install the shim from the command palette: ⌘K β†’ Install 'gitcito' command in PATH.

What you get

A complete client, not a subset. Everything below is built, documented and in the app today β€” the ordinary things done properly, which is most of what using git actually is.

Reading history

Command palette (⌘K) Fuzzy-jump to any branch, commit, file or action.
Commit graph Octopus merges drawn properly, windowed for huge histories, focus modes (linear, hide merged branches, solo), "new since last fetch" marks.
Code search (βŒ˜β‡§F) git grep across the tree, or a history pickaxe.
Blame & history Per-file, with follow-the-line and "reblame before this commit".
Commit notes Annotate a commit that is already pushed, without rewriting it.
Insights Commits/day, contributors, weekly churn, file hotspots.

Changing code

Commit composer Conventional, Gitmoji, Ticket, Plain… even Caveman. Co-author picker, message recall, live linter. Amend and undo from the graph menu prefill it.
Staging Whole files, hunks, or individual lines β€” and the same precision to unstage, discard, revert or apply one hunk or a few lines, each undoable. File-list headers split the count by modified / added / deleted.
Conflict resolver Three panes, per-line picking, a conflict-by-conflict navigator, editable output.
Xcode project merge A project.pbxproj conflict merged by object identity instead of by line β€” and refused, by name, where a build setting genuinely diverged.
Lockfile conflicts Podfile.lock, Package.resolved, yarn.lock and friends: take a side, and the command that regenerates it, instead of merging a graph nobody solved.
External diff & merge tools Hand a file to Kaleidoscope, Beyond Compare, Meld β€” read straight from git's own tool list.
Edit any commit Rewrite a past commit's files or message in place β€” cascade previewed before anything moves, merges replayed with their recorded resolutions.
Interactive rebase Drag to reorder, squash, fixup, reword, edit or drop.
Stacked branches Graphite-style chains, edited as a route: a start branch and one stop per level, added, swapped, reordered or removed from typeaheads β€” then one click pushes every level and opens/retargets the chained PRs, registering them as a native GitHub stack where that exists and carrying stack navigation in every body where it does not.
Git flow Start and finish features, releases and hotfixes β€” merges, tag and cleanup in one step, undoable.
Merge options -X ours, whitespace-blind merges, squash, -s subtree β€” and the commits behind a conflict.
Recovery Reflog, WIP snapshots of the whole tree β€” untracked files included, taken automatically before every destructive action β€” guided bisect, or hand the search to git bisect run, and one-click removal of the stale .lock file a crashed git left behind.
Local CI Run the repo's GitHub Actions on your machine with act before pushing β€” including against a commit or range you're not on, via throwaway worktrees, with the run cost stated up front.
Remove a file from history A leaked key or a 400 MB blob out of every commit β€” measured first, backed up, undoable.
File attributes .gitattributes with a UI: line endings, merge=union, export-ignore, readable diffs for Word, Excel, JSON and the UTF-16 .strings git calls binary (converter included), and clean/smudge filters gated behind a dry run.
Replace & graft Shorten a clone's history without rewriting a byte β€” reversible, and honest about what it hides.
Object explorer Walk blobs, trees, commits and refs β€” the layer beneath the graph, read-only.
Repository maintenance Where the disk went β€” packed, loose, unreachable β€” and what gc, repack, prune or fsck would do about it.
Remove untracked files git clean as a dry run: every path sized, ignored files apart and unselected, Trash by default.

Many repositories, and your hosts

Repositories Every repository Gitcito has ever opened, plus folders you scan, in one searchable list β€” open, favourite, recent, and per workspace.
Go to repository (⌘J) Jump to any open repository by name, folder or branch β€” group members included, most recently used first.
Groups & workspaces Tabs with folders nested to any depth, colour-coded, fetch-all per subtree. Browser-like tab sizing, opt-in auto-grouping of worktrees. Right-click a repository for alias, worktrees, GitHub, terminal and remove.
Tab images Give a repository a small picture from its own files, and show tabs as image, name or both.
Pull or push any branch Catch a branch up or publish it from its right-click menu, without checking it out first.
Untracked-branch repair A pull that stops on "no tracking information" offers the fix as a button β€” link the branch to its remote, or push it if the remote has never seen it.
Pull requests Create on GitHub, GitLab, Bitbucket and Azure DevOps. Review, comment, approve and merge on GitHub.
Plumbing, with a UI Stashes, tags, worktrees, submodules, LFS, sparse-checkout, patches, hooks.
Subtrees Vendor another repo into a directory β€” and remember where it came from, which git does not.
Bundles & archives The repository as one file git can clone from β€” or a tree as a zip, honouring export-ignore.
Credential helper Git's own password store β€” why https keeps asking, and the plaintext file nobody meant to have.
SSH keys See which key the agent is holding, generate one, test the host β€” the auth path tokens never covered.

AI, optional and grounded

Commit messages, PR descriptions and branch names from the actual diff Β· hover to explain an identifier Β· AI edit of just the lines you select, applied to the editor draft for review Β· PR review whose findings must anchor to a real path:line or get rejected Β· a repo wiki where every claim cites its file Β· repository chat that answers from files and commits you pin as context, asks for more evidence instead of guessing, links every answer back to the lines it read, and can propose Git actions β€” up to merge, rebase, revert, cherry-pick, and opt-in push, pull request and stacked-PR submit β€” plus reviewed file CRUD, each drawn as a widget you approve under always-ask, auto-safe, or auto-all rules and can undo as one plan (or from an error toast's "fix with AI"). Several accounts at once β€” an OpenAI key for commit messages, Claude for chat, a local Ollama for the rest β€” with model lists fetched live from each provider. OpenAI, Anthropic, Google Gemini, OpenRouter, Groq, Mistral, Ollama, any compatible endpoint, or a signed-in CLI you already pay for instead of an API key.

Make it yours

Switching themes

Themes in light and dark, plus AI-generated ones Β· screen-reader and keyboard accessibility Β· rebindable shortcuts Β· a native macOS menu bar that shows the keys you actually bound Β· profiles for separate identities Β· author avatars β€” Gravatar where it exists, a generated blob drawn offline where it does not, and a title-bar face that reacts to conflicts, half-finished rebases, a detached HEAD and piles left to grow Β· integrated terminal with splits Β· A real CLI β€” gitcito . opens a repo, gitcito blame src/api.ts -l 84 opens it there, gitcito doctor answers in the terminal with an exit code your CI can use, and gitcito editor install makes Gitcito the editor git commit and git rebase -i open Β· Repository rules β€” an optional .gitcito.json carries the house rules with the clone: protected branches, commit scopes, tracker links, a push checklist, and a doctor that tells a newcomer why the project does not run yet Β· Todos β€” a private checklist per repository, marked in the sidebar and the status bar, and never written into the repo Β· Sidebar panes β€” open sections share leftover height equally, each scrolling on its own; collapsed ones stay as headers, so they never drift off screen Β· Bookmarks β€” remembered places in the code that re-locate themselves when the line moves, and say so when it is gone Β· Open in your editor β€” repo, file, or the exact line you right-clicked, with Xcode projects and other packages treated as one item rather than a folder to dig through Β· Problems β€” what your project's own analyzers (tsc, dart analyze, ESLint, Clippy, go vet, Ruff) say, in a dock at the bottom, with a toggle for "only the files I changed" Β· Code TODOs β€” every TODO, FIXME and HACK the source carries, in the same dock, grouped by tag, by folder, or by the owner in TODO(cgm) Β· Run & debug from your .vscode/launch.json β€” inputs that read current values from JSON/YAML files, compounds as parallel sessions, stopAll, serverReadyAction, a hot reload button for the runtime you actually launched, and a run target picker for the phone or simulator Β· Dev tools embedded on the repository's own tab β€” Flutter DevTools, dart devtools, Prisma Studio and friends, from the address the session announces Β· previews for Markdown, Word, Excel, PDF, video and images β€” plus Info.plist and .entitlements as a key/value outline, and a project.pbxproj as the targets, file tree and build settings it really is Β· open-source licenses for every package the build ships, readable in the app.

Your secrets stay yours

Gitcito has no backend. Tokens and vault entries are encrypted with your OS keychain β€” and before it ever touches that keychain it tells you what for and lets you say no; the app keeps working either way. Nothing is synced or phoned home. The only network calls are to your Git host and, if you turn it on, your AI provider. Details in Security & secrets.

Team sharing works the same way: secure share packs secrets, commit notes, and whole workspace layouts into one encrypted file a teammate imports β€” no server in between.

The handbook

Built into the app, in every language it speaks β€” the Help button in the status bar, or ⌘K β†’ Help. It is the same Markdown you can read right here in the repository, offline and versioned with the code.

Contributions welcome β€” CONTRIBUTING.md has the working agreement: commit format, the translation rule, the test fixtures, and when a change has to update the handbook.

What's next

ROADMAP.md β€” what might come next, what it would cost, and what is deliberately out of scope. Ideas welcome as issues.

Sponsor this project

Gitcito is free, MIT-licensed and has no backend, no telemetry and nothing to upsell β€” so there is nothing to buy. If it saves you an afternoon of git reflog, you can pay for the next one instead:

πŸ’œ Sponsor on GitHub

Sponsorship funds the Apple Developer certificate the signed macOS builds need, the time that goes into the handbook, and the translations. Not sponsoring costs you nothing β€” bug reports, issues and pull requests are worth as much.

License

MIT.


Made by MyAppDesk with πŸ’œ

myappdesk.dev

About

Vibe coded Git client that works on my machine

Resources

Contributing

Stars

30 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages