Works with every repository.
Adar drives the user's own git and credentials; no accounts, no lock-in.
Open-source roadmap
Priorities change with feedback: open an issue to discuss an item, vote with 👍 on existing issues, or pick something up. Items marked good first issue are small and self-contained.
Adar drives the user's own git and credentials; no accounts, no lock-in.
Every feature must stay smooth with 100k+ commits and thousands of refs.
Destructive operations are confirmed and, whenever possible, undoable.
No telemetry. Anything that talks to a third-party service is opt-in.
adar command-line tool (open the current repository from a terminal)Code signing & notarization with an Apple Developer ID, so macOS opens Adar without Gatekeeper warnings.Discuss
Homebrew cask — brew install --cask adar.Discuss
Update channels (stable / beta) and a "What's new" panel after updating.Discuss
Delta updates (smaller downloads) once the app is signed.Discuss
Sign update archives with an offline maintainer key (ed25519) and verify them in the updater, on top of today's GitHub digest, host, bundle-identity and version checks.Discuss
Lightweight translation layer (t() + JSON catalogs, Intl for plurals, dates and numbers); a test that flags missing keys.Discuss
English, Spanish (castellano) and Basque (euskara) as the first languages.Discuss
Follow the macOS language by default, with a language selector in Settings.Discuss
Per-language glossary for git terms (commit, branch, merge, rebase, stash…), which most localized tools keep in English or translate consistently.Discuss
Contributor guide for adding a language through a pull request.Discuss
Pull/merge requests for GitHub, GitLab, Bitbucket and Azure DevOps: list, open, check out, create from a branch and show PR badges on branch labels in the graph. Reuse existing auth (gh / glab CLIs, credential helper tokens) before asking for anything.Discuss
CI status dots on commits and branches (GitHub Actions, GitLab pipelines).Discuss
"Open on GitHub/GitLab…" for commits, files and line ranges; clickable #123 issue references.Discuss
Provider avatars when Gravatar has none.Discuss
Worktrees panel: create, open in a new tab, remove.Discuss
Reflog view / "Recover lost commits" — a safety net beyond undo.Discuss
Branch cleanup: delete merged branches and branches whose upstream is gone, in bulk.Discuss
Commit signing (GPG / SSH) and "verified" badges in the graph and commit details.Discuss
Commit message helpers: templates (commit.template), Conventional Commits prefixes, Co-authored-by picker.Discuss
Readable output for failing hooks (pre-commit, commit-msg) instead of a raw error.Discuss
fixup! commits from the staging area and autosquash in the interactive rebase screen.Discuss
Partial stash (selected files or hunks), rename stash, compare a stash with the working tree.Discuss
Tags: sort by date, folder grouping, release-style annotated tag editor.good first issueDiscuss
Clone dialog options: shallow, single branch, partial clone, sparse checkout; cancel a running clone.Discuss
Merge tool: line-level selection, optional base (ancestor) pane, syntax highlighting in the output editor.Discuss
External diff / merge tools (VS Code, Kaleidoscope, FileMerge, Beyond Compare).Discuss
Word-wrap toggle and keyboard line cursor for line staging.good first issueDiscuss
Change markers on the diff's scrollbar: green where lines were added, red where they were removed (both on modified lines), so the changes of a long file show at a glance; clicking a marker jumps to that change.Discuss
Image diff modes: swipe and onion skin.Discuss
Compare any two refs or files ("Compare with…"), and browse the repository tree at any commit.Discuss
Blame: honour .git-blame-ignore-revs, "blame previous revision", paging for very long file histories.Discuss
Bisect UI: mark good / bad / skip from the graph, show the remaining range.Discuss
Git LFS: file status, lock/unlock, pointer-file awareness in diffs.Discuss
Submodules: init/update per submodule, open a submodule in its own tab, show its diff as a commit range.Discuss
Patch workflow: export (format-patch), apply (am), copy a diff as a patch.Discuss
Embedded terminal (xterm.js) next to the git console; streaming output and cancel for long console commands.Discuss
Multiple identities: per-folder profiles (includeIf), SSH key helper.Discuss
Graph layout and log parsing in a worker, incremental layout when paging; use git's commit-graph file for 500k+ commit repositories.Discuss
Watch the working tree respecting .gitignore (or use core.fsmonitor) to avoid refresh noise from build output.Discuss
Faster status for huge monorepos (untracked cache, partial status).Discuss
Customizable keyboard shortcuts.Discuss
Custom themes (theme files), font and density options, high-contrast theme.Discuss
Workspaces: a dashboard for a tab group (branch, changes and ahead/behind of each repository) with batch fetch/pull, and favourites. (Tab groups themselves are done.)Discuss
Tab groups: any colour for a group (colour picker or hex value) besides the preset palette, with the chip's text switching between light and dark so it stays readable in both themes.good first issueDiscuss
App menu: once the adar command is installed, show Uninstall Command Line Tool… instead of Install… (rebuild the menu after installing or uninstalling, and check at startup). Today uninstalling is only in Settings → Integrations and the command palette.good first issueDiscuss
Optional system notifications when a fetch brings new commits to branches you track.Discuss
Accessibility pass: screen-reader labels, full keyboard navigation, reduced motion.Discuss
First-run tour.Discuss
Bring-your-own-key or local models only, disabled by default, and never sending code without an explicit action:
Nothing matches that filter — try another word, or suggest it.
Changelog
Straight from GitHub Releases — the same notes the in-app updater shows under “What’s new”.
commit.gpgSign is on, and your commit-msg hook checks the new message.adar <folder> on a folder that holds several repositories opens them as a group (or reopens its saved group). Opening a second repository from the same folder offers to group them.adar command-line tool — open the repository you are in from the terminal, like code .: adar opens the current folder's repository, adar <path> any other one. Install it once from Adar → Install Command Line Tool… (or Settings → Integrations). If Adar is already open, the repository opens in a new tab.main and choose Rebase <current> onto main (it offered the opposite before). Fast-forward is hidden when there is nothing to fast-forward.First public release of Adar — a fast, visual Git client for every repository, public or private. Adar means "branch" in Basque.
Contribute
Adar is small enough that one pull request changes it. Here is the shortest path from idea to merge.
Take a or an open issue. Say you’re on it so nobody duplicates work.
$npm install && npm run devAGENTS.md explains the architecture, conventions and safety rules.
Keep it focused, run npm run typecheck and npm test, and follow CONTRIBUTING.md.