Open-source roadmap

Where Adar grows next.

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.

Suggest an idea
Planned
58
Good first issues
4
Areas
11
Releases
5

Guiding principles

01

Works with every repository.

Adar drives the user's own git and credentials; no accounts, no lock-in.

02

Fast on big repos.

Every feature must stay smooth with 100k+ commits and thousands of refs.

03

Safe by default.

Destructive operations are confirmed and, whenever possible, undoable.

04

Private by default.

No telemetry. Anything that talks to a third-party service is opt-in.

shipped

Shipped in 0.1

19 features
  • Commit graph with lanes, avatars, ref labels, WIP and stash nodes
  • drag & drop merge/rebase/fast-forward/push
  • branches, remotes, tags, stashes and submodules panel
  • staging by file, hunk and line
  • commit/amend
  • unified and split diffs, hunks or full file
  • file history and blame
  • merge-conflict tool
  • visual interactive rebase
  • fetch/pull/push with upstream handling
  • undo/redo of git actions
  • command palette and git console
  • tabs
  • dark/light themes
  • credential prompts for HTTPS tokens and SSH passphrases
  • in-app updates from GitHub Releases
  • adar command-line tool (open the current repository from a terminal)
  • edit the message of existing commits in place
  • tab groups (a project's repositories together, reopened in one click).
HEAD → mainv0.4.0You are here · Oct 21, 2026
next

Coming next

0.2 – 0.4 · 31 items

Distribution 5

  • 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

Localization (i18n) 5

  • 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

Hosting integrations (opt-in) 4

  • 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

Everyday workflow 10

  • 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

Diffs, blame and conflicts 7

  • 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

later

Further out

27 items

Platforms 2

  • Linux builds (AppImage, deb, rpm) — verify file watching, askpass and terminal integration.Discuss

  • Windows builds (NSIS installer) — .cmd editors, Git for Windows askpass, path handling.Discuss

Power features 6

  • 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

Scale and performance 3

  • 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

Experience 8

  • 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

Opt-in AI assistance 4

Bring-your-own-key or local models only, disabled by default, and never sending code without an explicit action:

  • Draft a commit message from the staged diff.Discuss

  • Draft a pull request description from a branch.Discuss

  • Explain a commit or a diff.Discuss

  • Suggest a resolution for a merge conflict (always reviewed by the user).Discuss

Project and quality 4

  • DOM interaction tests (Testing Library) and end-to-end tests of the packaged app in CI, with screenshot diffs.Discuss

  • Project website with screenshots, docs and a changelog.Discuss

  • Extension API (custom commands, panels, hosting providers).Discuss

  • Opt-in crash reports (no telemetry).Discuss

Changelog

Every release, commit by commit.

Straight from GitHub Releases — the same notes the in-app updater shows under “What’s new”.

  1. v0.4.0Latest

    Adar 0.4.0

    New

    • A new icon and logo. Adar is Basque for both a tree branch and an antler, so the new mark is both: a pair of antlers drawn with git lanes, with a commit at every tip. It replaces the old icon in the Dock and Finder, on the welcome screen, in the About window and in the status bar, and reads in both the dark and the light theme.
    Release page & downloads
  2. v0.3.1

    Adar 0.3.1

    Changed

    • The arrows in the diff view now walk the changes of the file, like GitKraken: previous / next change, with a "3 / 12" counter, and the change they land on is highlighted for a moment. Handy in long files. N / P and ⌥↑ / ⌥↓ do the same. To switch files, pick them in the right panel's file list (or press [ / ]).
    Release page & downloads
  3. v0.3.0

    Adar 0.3.0

    New

    • Edit the message of any commit on your branch, the latest or an older one, right in the commit panel (pencil icon) or from the graph's context menu (Edit commit message…). Your working tree, staged changes, stashes and ignored files are never touched. If the commit was already pushed, Adar says so before saving and offers a Force push button afterwards; undo restores the previous history. Signed commits stay signed when commit.gpgSign is on, and your commit-msg hook checks the new message.
    • Tab groups: keep a project's repositories (say api, app and landing) together under a named, coloured chip. Right-click a tab → Add to New Group…, or drag tabs into a group; click the chip to collapse it. Groups are remembered when their tabs are closed: reopen all their repositories at once from the welcome screen, the + menu or the command palette.
    • 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.

    Fixed

    • Force push (with lease) works in freshly cloned repositories and after git's housekeeping expired old reflog entries; it used to be refused as if someone else had pushed.
    • Interactive rebase: if amending a message fails (for example a cancelled signing prompt), Continue now tries it again instead of silently keeping the old message.
    • Hovering the warning icon next to a branch shows its tooltip again.
    Release page & downloads
  4. v0.2.0

    Adar 0.2.0

    New

    • 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.
    • Drop a folder on Adar's Dock icon to open it.

    Fixed

    • Dragging branches now rebases the checked-out branch, like GitKraken: drag your current branch onto main and choose Rebase <current> onto main (it offered the opposite before). Fast-forward is hidden when there is nothing to fast-forward.
    • The app icon no longer has a white frame around it.
    Release page & downloads
  5. v0.1.0

    Adar 0.1.0

    First public release of Adar — a fast, visual Git client for every repository, public or private. Adar means "branch" in Basque.

    Highlights

    • Commit graph with coloured lanes, avatars, branch/tag/remote labels, WIP and stash nodes, and search
    • Drag a branch onto another to merge, rebase, fast-forward or push
    • Staging by file, hunk or line; commit and amend; pre-filled merge messages
    • Unified or side-by-side diffs, changed hunks or the full file; file history and blame
    • Merge-conflict tool and visual interactive rebase
    • Fetch, pull (ff-only / merge / rebase) and push with upstream handling; undo/redo for git actions
    • Command palette (⌘P), git console, tabs, dark and light themes
    • Works with your existing SSH keys, Keychain and credential helpers; asks before trusting repositories whose config runs commands
    • In-app updates (Adar → Check for Updates…)
    Release page & downloads

Contribute

Pick a branch. Make it grow.

Adar is small enough that one pull request changes it. Here is the shortest path from idea to merge.

  1. 1

    Choose

    Take a or an open issue. Say you’re on it so nobody duplicates work.

  2. 2

    Set up

    $npm install && npm run dev
  3. 3

    Read the map

    AGENTS.md explains the architecture, conventions and safety rules.

  4. 4

    Open a PR

    Keep it focused, run npm run typecheck and npm test, and follow CONTRIBUTING.md.

Known limitations in 0.111
  • macOS on Apple Silicon only (no Intel builds), unsigned (see Distribution).
  • The interface is English-only (see Localization).
  • Conflict resolution works per conflict chunk, not per line; there is no base pane.
  • Line staging is mouse-only; untracked, added, deleted and binary files can only be staged whole.
  • The git console waits for a command to finish (no streaming, no cancel); interactive commands are not supported.
  • File history shows up to 2000 commits and older paths across renames are resolved best-effort.
  • Clones cannot be cancelled once started.
  • When macOS file events are unavailable, Adar falls back to polling: changes show up after 1–2 s instead of instantly.
  • An interactive rebase started outside Adar (e.g. in a terminal) is shown as a plain "Rebase in progress".
  • A stash whose base commit is not loaded in the graph appears only in the left panel.
  • Paging through very long histories recomputes the whole graph layout (about 100 ms per page at 20k commits).