neuron-explorer
Steering-first neuron explorer for Qwen3.5-4B: push every MLP neuron, keep every rollout, browse the results
Free, open-source Git client for macOS, Windows and Linux. Commit graph, line staging, a merge tool, undo. Also a donkey.
Developer toolsJavaScript · CSSGitHub @NathanCartOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
A free, open-source desktop Git client. Stubborn about your history.
Taken from the repository README
Loading the full README.
Read the full README ↗A free, open-source desktop Git client for macOS and Windows, built with Electron and plain HTML/CSS/JS. The familiar three-pane layout of graphical Git clients (if you have used GitKraken, you already know your way around) with its own identity: a patched modular rig where branches are cables, commits are jacks, and merging is patching one branch into another.
Free and open source. Grab the latest build from Releases:
| Platform | File |
|---|---|
| macOS, Apple Silicon | GitDonkey-<version>-mac-arm64.dmg |
| macOS, Intel | GitDonkey-<version>-mac-x64.dmg |
| Windows 10/11, x64 | GitDonkey-Setup-<version>-x64.exe |
GitDonkey drives the Git you already have, so install Git first (Git for Windows; on macOS run xcode-select --install).
The builds are not code-signed yet, so the first launch needs one extra click:
GitDonkey looks for a new release on GitHub when it starts and every six hours. When there is one, a card shows the new version and its release notes, with Update, Later and Skip this version; after Later, a key on the status strip brings the card back. Check for Updates… (in the GitDonkey menu on macOS, the Help menu on Windows) checks straight away, even for a version you skipped, and Settings has a switch to stop the automatic checks. A check is one anonymous request to the GitHub API; nothing about you or your repositories is sent.
Update downloads the build for your computer and checks it against the SHA-256 checksum GitHub publishes for the release. Then:
The builds aren't code-signed, which rules out the usual Squirrel / electron-updater route on macOS; this is why GitDonkey installs its own updates.
When a remote needs a login, GitDonkey asks for it in its own dialog: username and token for HTTPS, passphrase for SSH keys, and a fingerprint check for new SSH hosts. Git then saves the login in your system keychain (macOS Keychain, Windows Credential Manager), so you are only asked once. If the GitHub CLI is installed and logged in (gh auth login), GitHub remotes sign in automatically.
A small 3D donkey sits in the bottom-left corner. He breathes, blinks, watches your pointer and says something about what you do: commits, pushes, pulls, merges, conflicts, rebases, branches, stashes, resets, tags, a rejected push, a new theme. Click to poke him (keep clicking and he gets annoyed), double-click to spin him, wiggle the pointer over him to pet him, and right-click for hay, a joke, Be quiet for an hour or Hide the donkey. With the keyboard, focus him and press Enter to poke or Shift+F10 for his menu.
Show the donkey in Settings switches him off and on. He idles at a low frame rate and stops drawing when the window is hidden, and with reduced motion on he stays put and just talks.
Themes… (in the GitDonkey menu on macOS, the File menu on Windows, or Settings) has 21 built-in themes: GitDonkey's own Patch Bay, Studio Paper, Eurorack Silver, Hay Bale, Oscilloscope, Amber CRT, Tape Deck, Neon Arcade, Deep Sea and High Contrast, plus Nord, Dracula, Solarized, Gruvbox, Monokai, Catppuccin, Tokyo Night and Rosé Pine. Click one and the whole window changes, graph lanes included.
New theme… opens the theme builder beside the window, so you see every change on the real app as you make it. Each of the 24 colours has a picker and a hex field; Shades from Case + Legend works out the panels, rules and text shades from your background and text colours; and a readability check lists any text or cable that's too faint, with Fix readability to nudge just those colours until they pass (WCAG AA for text, 3:1 for cables).
If you've set up AI commit messages, describe a theme (“sunset”, “forest at dawn”, “1980s arcade”) and press Generate: the same provider and key design all 24 colours, GitDonkey fixes anything unreadable, and you tweak and save. Only your description is sent.
Copy theme code gives you a short bit of text to share; anyone can paste it into Themes → Import….
Optional, and off until you set it up. Press Generate in the commit box (or open AI Commit Messages… from the GitDonkey menu, or Settings) and pick a provider:
Check key and load models tests the key and lists the provider's models; leave Model empty to use the default. You can add your own instructions, like “use Conventional Commits”, and it follows the style of your recent commits anyway.
Resolving conflicts: in the merge tool, Resolve with AI sends each open conflict (both sides, the common base when Git has it, and a few lines around it) to the same provider and shows a suggested resolution under each conflict with a one-line reason and how confident the model is. Nothing changes until you press Use suggestion (or Edit it first, or Use all suggestions), and you still save and mark the file resolved yourself.
What is sent, and when: only when you press Generate or Resolve with AI, GitDonkey sends the staged diff (lockfiles and binaries left out, long files trimmed), the file names, the branch name and your last few commit subjects to the provider you chose. Nothing else, and nothing at any other time. API keys are encrypted with your system keychain (Electron safeStorage), stay in the main process, and are only ever sent to their own provider. On macOS the first save asks for Keychain access; if you decline, the key still works until you quit but isn't saved, and GitDonkey offers to reopen so you can choose Always Allow. The builds aren't code-signed, so macOS may ask again after an update. The message lands in the summary and description for you to read and edit before committing.
npm install
npm start # opens the welcome screen
npx electron . /path/to/repo # opens a repository directly
Release builds:
npm run dist:mac # dist/release/*.dmg (Apple Silicon + Intel)
npm run dist:win # dist/release/GitDonkey-Setup-*.exe
npm run brand # regenerate the icon, logo and brand sheet
--force-with-lease), add/edit/remove remotes, and delete remote branches and tags.On Windows, read Ctrl for ⌘, Alt for ⌥ and Shift for ⇧.
| Action | Keys |
|---|---|
| Open / clone / new repository | ⌘O / ⇧⌘N / ⌥⌘N |
| New tab / close tab | ⌘T / ⌘W |
| Find commits / filter branches | ⌘F / ⌥⌘F |
| Fetch / pull / push | ⇧⌘F / ⇧⌘L / ⇧⌘P |
| Create branch | ⌘B |
| Stash / pop | ⌥⌘S / ⌥⌘P |
| Stage all / unstage all | ⇧⌘S / ⇧⌘U |
| Commit | ⌘↵ in the message box |
| Undo / redo Git action | ⌘Z / ⇧⌘Z (outside text fields) |
| Move through commits | ↑ ↓ or J K |
| Toggle sidebar / commit panel | ⌘J / ⌘K |
npm test # unit tests against real temporary repositories (backend, graph, patches, conflicts, avatars, sign-in, updates, themes)
npm run test:e2e # Playwright run of the real app against a demo repo and a bare "origin", then the update flow against a fake release feed, then themes (with a fake AI endpoint), then the donkey
The update run serves a release one major version ahead from 127.0.0.1. On macOS it goes on to download a real DMG, swap a stand-in app bundle and reopen it; that last check builds a tiny launcher with cc from the Xcode Command Line Tools and is skipped without them.
The end-to-end run writes screenshots to test/e2e/shots/.
src/main/ Electron main process: git.js (all Git operations), ai.js (AI commit messages, key vault), IPC, menus, file watcher, settings
src/preload/ the allow-listed bridge between main and renderer
src/renderer/ the UI (ES modules, no build step)
lib/ pure logic: graph lanes, diff parsing / partial patches, conflict parsing, logo mark
scripts/ build-brand.js renders the icon, logo and brand sheet (npm run brand)
test/ unit and end-to-end suites
Issues and pull requests are welcome. Please run npm test and npm run test:e2e before opening a PR; the end-to-end suite writes screenshots to test/e2e/shots/ that are handy to attach.
MIT. Bundled fonts, icons and libraries keep their own licenses; see THIRD_PARTY_NOTICES.md.