-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Desktop Material is an independent Material Design 3 (M3 Expressive) remake of GitHub Desktop. It is a fork of desktop/desktop (MIT) with the entire application shell rebuilt around Material Design 3 — animated light/dark theming, dynamic type and color tokens, and a browser-like, tabbed workspace — while keeping GitHub Desktop's complete Git workflow intact underneath.
On top of that shell, Desktop Material ships multi-provider accounts and organizations, automation, GitHub Actions and logs, agent access, searchable graph History, multiple stashes, pull-all, multi-window workflows, per-account repository tabs, Git-backed settings and notifications, and a non-modal dialog framework. The current integration tree also contains the complete guided P0/P1/P2/Later Git, GitHub, and provider parity wave described below.
Status: Desktop Material is in active development. Preview builds are published from the project's GitHub Releases. Feature-parity references come from desktop-plus (MIT).
The guided M19 source implementation is complete, but this documentation does not pre-claim its final production/off-screen acceptance,
mainpromotion, CI, Pages/wiki, installer/release, or cleanup evidence. Follow the repository's PLAN and HANDOFF for that closing gate.

| Page | What it covers |
|---|---|
| User Guide | Task-oriented walkthrough for accounts, guided Git/GitHub/provider functions, organizations, tabs, automation, Actions, History, stashes, pull-all, multi-window, and the MD3 shell. |
| Guided Feature Gallery | Synthetic-data visual manifest for clone, pull-all, deepen, sparse checkout, repository administration, GitHub lifecycle, and provider triage. |
| Automation | Scheduled commit & push and pull, layered overrides, safety guards, and merge-all branches/worktrees. |
| Regex Guide | Filter chips, substring/regex modes, the regex builder, and the search surfaces that use them. |
| Developer Guide | Architecture for contributors — Electron windows, store/dispatcher flow, dugite, profile repos, agent server, CLI routing, and SCSS tokens. |
| Agent API | Shipped MCP, local REST, stdio proxy, and CLI access for safe AI-agent control. |
| Living parity roadmap | Current named-function delivery waves, production UI gates, and the no-raw-command/API-browser product contract. |
- Material Design 3 Expressive shell with animated light/dark theming and M3 color tokens: an app bar with an inline pill menu, a left icon navigation rail (Changes with a badge, History, Branches, Settings, account avatar), a floating pill toolbar with repository and branch chips and a sync pill, and floating radius-24 workspace cards with tri-state checkboxes, tonal status chips, token-based diff colors, and an inverse-surface undo banner.
- Browser-like repository tabs — per-account and bound to repos, with inline rename and per-tab title styling (bold/italic/underline, size, color, font family, alignment).
- Multi-account — multiple identities per host; each account carries its own tabs, repos, and settings. GitHub organizations expose their complete repository lists and can be selected when publishing. GitLab endpoints use PAT authentication and Bitbucket uses app passwords; both providers can browse and clone repositories without exposing credentials to the renderer or agent API.
-
Per-account settings in a local git repo — every settings or tabs change auto-commits. Open
Edit → Settings History… (
Ctrl+Alt+Z) for a non-modal timeline with lazy diffs, undo, redo, and restore; each history action appends an audit commit.

- Non-modal dialogs that float without blocking the app, drag by their headers, cascade, and come to front on focus. Preferences is an MD3 940×660 dialog with a left rail, an Active chip, and a pill footer; the repository and branch pickers are MD3 side sheets.
- Automation — schedule guarded commit-and-push and pull at the global level, override either setting per account or repository, run commit-and-push immediately, and merge all branches or worktrees with per-target progress and Copilot-assisted conflict handling.
- GitHub Actions — filter and retain run pages; re-run a complete run or failed jobs; switch current or historical attempts; load bounded job pages; open or re-run the exact loaded job; review pending environments and history; approve or reject eligible deployments; separately approve an eligible fork run; dispatch a workflow; and page/download artifacts with local digest and explicit attestation-presence context.
- Agent access — opt in from Settings to start a token-gated MCP/REST server on a random loopback-only port. A stdio proxy and command-line client expose the same bounded commands for repositories, tabs, Git operations, automation, and workflow dispatch.
The production-verified run inspector loaded current and historical 50→51 job pages, retained page one through a deliberate page-two 503→200 retry, and exercised exact job-log, re-run, deployment, and fork-approval functions only against an isolated provider. Regular, short, and requested 200%-base states had matching document/body widths with no measured clipping, overlap, outside controls, oversized text, or page-level sideways scrolling. Modal focus and scrim ownership were contained.




- History power tools — search commits by title, message, tag, or hash and toggle a commit graph that renders ancestry lanes beside the filtered history.
- Multiple stashes — create and keep multiple entries, select one to inspect its files and diffs, then restore or discard that exact stash.
-
Repository power tools — pin and group repositories, pull all with a per-repository result,
use branch presets and default-branch controls, set a repository-specific editor, shallow-clone
with a commit-depth control, manage cone-mode sparse checkout, and multi-clone in parallel or
sequence with URL-only import/export. These are named, validated workflows rather than a raw Git,
gh, or API-command catalogue. - Multi-window workflows — open a repository or worktree in a separate window; each window keeps its own selected repository and persisted tab state while commands route to the correct window.
- Notification centre — a Git-backed Local view plus an account-aware GitHub inbox with All/Unread and participating-only filters, including a complete no-signed-in-account state.
- Clipping-safe scaling — choose 50–200% UI scaling; auto-fit caps the effective scale when a small window cannot contain the requested size. The latest Actions gate kept a requested 200% base, auto-fitted safely to 96%, and preserved every title-bar, navigation, attempt, job, deployment, confirmation, and log control.
- Responsive overflow guard — at 1450×997, the toolbar and complete Changes card remain inside the viewport, including filter, commit-composer, and action controls, with no horizontal overflow.
- No page-level sideways scrolling — task forms wrap text and stack controls when space narrows. Horizontal scrolling is reserved for spatial content such as code, diffs, and logs when needed.
The implementation-complete guided wave adds named task surfaces instead of a raw command or API catalogue:
- Git administration — patch-series exchange, structured local-commit rewrite, commit/tag signing, Git LFS, complete worktree lifecycle, branch pin/hide/solo/restore, exact merge-tree conflict paths, guided bisect, the repository-wide Stash Manager, guarded Remote Manager, and the safe Repository Hooks Manager.
- GitHub lifecycle — pull-request templates/metadata/review/update/close/reopen/merge, paginated Actions artifacts with bounded download/digest context, effective branch rules, Releases/assets, and richer Issue browsing/edit/comment/close/reopen workflows.
- Provider-neutral triage — bounded Issue and pull-request summaries for the exact selected GitHub, GitLab, or Bitbucket account and repository, with safe links and explicit unsupported, partial, capped, and error states. Bitbucket Issues are explicitly unsupported by that provider.
These functions remain marked integration complete, final acceptance pending until their exact production tree and public promotion evidence is recorded.
The Guided Feature Gallery maps the candidate 14-image set to these workflows.
Its asset list is documentation metadata, not a substitute for the final main, CI, public-site,
wiki, installer, release, or cleanup gates.





