Desktop Material documentation
Install
Microsoft.PowerShell.Utility\Invoke-RestMethod 'https://raw.githubusercontent.com/Ding-Ding-Projects/desktop-material/main/script/install-windows.ps1' | Microsoft.PowerShell.Utility\Invoke-Expression
& ([scriptblock]::Create((Microsoft.PowerShell.Utility\Invoke-RestMethod 'https://raw.githubusercontent.com/Ding-Ding-Projects/desktop-material/main/script/install-windows.ps1'))) -FromSource
./script/install-windows.ps1 -FromSource
Feature documentation
Every feature document
Agent API
Collaboration
- Checkout branches from other forksDesktop Material's Branches side sheet includes Checkout from another fork… for authenticated GitHub repositories. The workflow discovers visible forks in the repository…features/collaboration/fork-branch-checkout.md
- Offline GitHub Projects workspaceDesktop Material exposes GitHub Projects inside the repository Tools hub for repositories associated with a GitHub account. The workspace is deliberately read-only: it can…features/collaboration/offline-github-projects.md
- Pull-request activity notificationsDesktop Material raises operating-system notifications for relevant pull request review submissions, issue/review comments, and failed checks received through its live provider…features/collaboration/pull-request-activity-notifications.md
- Rich pull-request context and actionsThe pull-request workspace keeps the exact base/head repository, branch, head object ID, author, draft/state, mergeability, checks, files, commits, reviews, issue comments, and…features/collaboration/pull-request-context-and-actions.md
- Native pull request creationDesktop Material can compose and create a GitHub pull request without exposing a raw REST editor or handing reviewed content to a browser form. The dialog is bound to the…features/collaboration/pull-request-creation.md
- Native pull request review workspaceOpen a pull request's context menu and choose Manage Pull Request… to load a single account-bound workspace. A fixed header names the current pull request, shows an Open,…features/collaboration/pull-request-review-workspace.md
- Self-hosted server wizardThe Windows Preferences wizard provisions the repository's own services/desktop-material-server container. The main process owns the Docker and filesystem operations; the…features/collaboration/self-hosted-server-wizard.md
Design system
- Audio system (narrator, sound effects, per-repository music)An optional, settings-gated audio layer. Every part is off by default and designed never to become annoying. Three cooperating parts:features/design-system/audio-system.md
- Command palette rows and appearanceThe Ctrl+Shift+F command palette lists every named app function; that is the accelerator the application menu registers for command-palette, and the MD3 shell header's palette…features/design-system/command-palette-appearance.md
- Command palette coverageThe shipped catalog currently contains 268 unique commands. The R5 command-palette expansion (see below) added 21 of those: tab management…features/design-system/command-palette-coverage-gaps.md
- Command palette: full-app coverage, rich controls and teleportThe Ctrl+Shift+F master command palette is Material Design 3's full-screen search view. That is the accelerator the application menu actually registers for the command-palette…features/design-system/command-palette-full-coverage.md
- Destructive-action super confirmation / 破壞性操作嘅雙匙閘Every action in Desktop Material that destroys something, or that cannot be taken back from inside the app, is authorized through one shared gate:…features/design-system/destructive-action-gate.md
- Show emojis in dialogs and message boxesA persisted, per-profile switch on Settings → Appearance that puts one decorative emoji beside a dialog's title. Turn it off and the same dialog says exactly the same words…features/design-system/dialog-emoji-decoration.md
- Dialog wheel and trackpad scrollingDesktop Material's floating dialogs accept vertical mouse-wheel and trackpad gestures anywhere over their scrollable content. Users no longer need to aim at the narrow…features/design-system/dialog-wheel-scrolling.md
- The dim sum surpriseRoughly one launch in ten, Desktop Material puts a small photograph of a Hong Kong dim sum dish in the bottom-left corner, names it in English and Traditional Chinese, and…features/design-system/dim-sum-surprise.md
- The Material Design 3 siteThe published site at is a full Material Design 3 rebuild of the landing page, the Cheap LFS guide, the Cheap LFS versus Git LFS atlas, and the documentation front end. It is afeatures/design-system/material-design-3-site.md
- Material ripple state layer and theme reveal pulseDesktop Material mirrors the Desktop Material v2.dc.html prototype's two app-wide motion primitives:features/design-system/material-ripple-and-theme-reveal.md
- The Material Design 3 shellThe application chrome, rewritten against design/History MD3.dc.html and assembled as one component. Md3Shell (app/src/ui/md3/md3-shell.tsx) is what App.renderApp() renders: a…features/design-system/md3-shell.md
- Recorded narration + melody assetsWires the 244 pre-generated audio assets in app/static/audio/ into the optional audio runtime, so meaningful events can play a recorded human-style voice line and a composed…features/design-system/narration-assets.md
- Narrator voiceWhich voice reads app events aloud, chosen per language on Settings → Sound → Narrator. English and Cantonese pick separately, and either can be left to the app.features/design-system/narrator-voice.md
- Offline documentation browserEvery feature article in docs/features ships inside the application. Help → Feature documentation (or the command palette) opens a browser that lists all of them, searches…features/design-system/offline-documentation-browser.md
- Personal vocabularyA local JSON file that renames the words this app shows you. Load it from Settings → Appearance → Personal vocabulary. Nothing ships with it, nothing is uploaded, and until you…features/design-system/personal-vocabulary.md
- Repository-themed musicEvery repository gets its own recognizable, looping background theme — without shipping or downloading a single audio file. A stable hash of the repository's identity seeds a…features/design-system/repository-theme-music.md
- School modeSchool mode is a persisted, user-renamable presentation lock in Settings → Appearance. It keeps the application in English and temporarily removes the language, playfulness,…features/design-system/school-mode.md
- Distinct sound-effect event mappingBuilds on the audio system to give each meaningful app event its own recognizable sound effect instead of routing everything through the shared commit / auto-commit cue. It…features/design-system/sfx-event-mapping.md
- Surface locks / 版面鎖A for-fun password or one-time-password speed bump on a tab, a tab group, or any appearance value. Off by default, opt-in per surface, and never described as security.features/design-system/surface-locks.md
- Tone: the per-language funny-level slidersTwo independent sliders — one for English, one for Cantonese — set how playful the app's copy reads, from 1 (fully serious) to 5 (maximum playfulness). They live on Settings →…features/design-system/tone-funny-level.md
Identity and workspace
- The built-in authenticator and QR pairing / 內置驗證器同 QR 配對Desktop Material ships its own TOTP authenticator: a place to register and keep second factors for whatever accounts the user likes, and to read live codes without reaching for…features/identity-and-workspace/authenticator-and-qr-registration.md
- Branch switcher workflowsThe branch sheet combines local and remote branches with text filtering, recent branches, default-branch context, activity/alphabetical sorting, and explicit hidden/solo…features/identity-and-workspace/branch-switcher-workflows.md
- Collection bulk actions and regex safetyDesktop Material gives collection search fields one shared fuzzy, substring, and regular-expression contract. A tracked registry maps each real search input to a stable surface…features/identity-and-workspace/collection-bulk-and-regex-safety.md
- Multiple accounts and repository identityDesktop Material can retain multiple GitHub.com identities, multiple accounts on one Enterprise host, and GitLab or Bitbucket identities. Account metadata is stored separately…features/identity-and-workspace/multiple-accounts-and-repository-identity.md
- Owner-scoped appearance and historyDesktop Material attaches appearance controls to the element that owns the setting. Shift+right-click, the keyboard Context Menu key, or Shift+F10 opens an anchored editor…features/identity-and-workspace/owner-scoped-appearance-and-history.md
- Repository sidebar and pinningThe repository sheet is a searchable workspace switcher rather than a flat recent list. It groups pinned repositories first, can show or hide the Recent group, and keeps…features/identity-and-workspace/repository-sidebar-and-pinning.md
- Scheduled language, appearance, and external settingsDesktop Material can apply a settings value during a local date-and-time window. A rule can change the language presentation, theme, and appearance customizations together or…features/identity-and-workspace/scheduled-settings.md
- Browser-style settings tabsGlobal Settings, Repository Settings, and Stash Manager use the same horizontal browser-style tab surface. Each page has a stable identity, a visible active state, a close…features/identity-and-workspace/settings-browser-tabs.md
- Settings search / 設定搜尋A search box at the top of the Settings (Preferences) dialog's left rail lets you find a setting by name, description, or keyword across every tab, and jump straight to the tab…features/identity-and-workspace/settings-search.md
- Settings tab dockingRepository Settings and application Settings use the same browser-style tab strip. The strip can be docked on the left, top, bottom, or right of its content. Left is the…features/identity-and-workspace/settings-tab-docking.md
- Support Tickets: the local recovery desk / Support Tickets:本機支援櫃檯Desktop Material ships several for-fun locks — a tab a user can put behind a password, an appearance property behind an OTP, the renamable presentation lock in settings. Every…features/identity-and-workspace/support-tickets.md
- Tab groupsRepository tabs can be collected into named, colored groups. A group is an organizational label over the existing strip: it never changes what a tab does, never closes a tab,…features/identity-and-workspace/tab-groups.md
- Tab-strip overflow dropdownWhen more repository tabs are open than the strip can show, the tabs that do not fit move into a "more tabs" dropdown instead of being clipped or reachable only by horizontal…features/identity-and-workspace/tab-overflow-dropdown.md
- Tab-strip settings commit chipThe repository tab strip's trailing cluster carries the signature per-account settings-repo feedback from the v2 design: a persistent commit chip, a Settings-history entry…features/identity-and-workspace/tab-strip-settings-commit-chip.md
Integrations
- Actions workflow managerThe Workflows tab of the Actions view lists every workflow in the repository, with a switch per row to enable or disable it, a filter bar wired to the full regex builder, and —…features/integrations/actions-workflow-manager.md
- App-hosted browserDesktop Material can open browser-bound HTTP and HTTPS links in a dedicated app-hosted window instead of always handing them to the system browser. The window supplies a URL…features/integrations/app-hosted-browser.md
- Automated update build status and release notesDesktop Material distinguishes an available Windows update from a newer commit that GitHub Actions is still packaging. Automated GitHub Releases also explain which exact…features/integrations/automated-updates-and-release-notes.md
- Broad editor supportDesktop Material's supported Windows catalog includes Visual Studio Code/VSCodium variants, JetBrains IDEs, Sublime Text, Vim/Neovim front ends, and other Windows editors.…features/integrations/broad-editor-support.md
- Build & Run output controlsThe Build & Run log panel keeps long-running compiler and test output readable without changing or discarding the underlying stream. Three header controls let the user jump to…features/integrations/build-run-output-controls.md
- Copilot commit-message controlsEligible signed-in users can ask Copilot to draft a commit title and optional description from the currently included diff. The generated marker is cleared as soon as the user…features/integrations/copilot-commit-message-controls.md
- Custom Git command presetsRepository Tools provides a controlled extensibility point for commands that are useful to a team member but too personal or specialized for a permanent toolbar button. A…features/integrations/custom-git-command-presets.md
- Duplicate-open guardHanding a path to something outside Desktop Material — an external editor, a terminal, the file manager, or the system default application — spawns a process, and none of those…features/integrations/duplicate-open-guard.md
- Editor discovery and one-click openingDesktop Material discovers a broad curated set of installed Windows editors, including Visual Studio Code/VSCodium variants, JetBrains IDEs, Sublime Text, and Vim/Neovim front…features/integrations/editor-discovery-and-one-click-opening.md
- GitHub CLI push credential fallbackWhen a push to an organization-owned GitHub or GitHub Enterprise Server (GHES) repository is rejected for authentication reasons, Desktop Material can retry the push exactly…features/integrations/gh-cli-push-fallback.md
- Repository-bound GitHub API functionsDesktop Material automatically adds a small set of safe, read-only GitHub API functions to an eligible repository the first time its API functions surface is opened. The…features/integrations/github-api-functions.md
- GitHub OAuth loginDesktop Material uses the same GitHub OAuth request shape as the upstream GitHub Desktop client. The authorization request supplies the registered client ID, bounded feature…features/integrations/github-oauth-login.md
- Per-repository GitHub Packages explorerDesktop Material exposes GitHub Packages beside Releases in the selected repository's Distribution surface. The explorer keeps the repository's chosen GitHub account and…features/integrations/github-packages-explorer.md
- GitLab merge requestsDesktop Material can create, review, and manage GitLab merge requests natively for a repository whose selected account is a GitLab or self-hosted GitLab account, without…features/integrations/gitlab-merge-request.md
- Global ignore managementOpen Settings → Git → Global ignore to manage rules that should apply to every local repository. Desktop Material reads Git's effective core.excludesFile; when none is…features/integrations/global-ignore-management.md
- Local GitHub Actions runnerRun a repository's GitHub Actions workflows on your own machine before pushing, using act driving Docker. The feature discovers and parses the workflows under…features/integrations/local-actions-runner.md
- Local AI build repair with Codex or OpenCodeDesktop Material can hand a failed Build & Run stage, or a free-form repository request, to either the Codex CLI or OpenCode. The provider choice is stored with that repository…features/integrations/local-ai-build-fix.md
- Ollama model managerDesktop Material manages an Ollama provider without exposing the native API as a free-form request editor. There are two ways in.features/integrations/ollama-model-manager.md
- One-click editor actionsThe selected external editor is one action away from repository rows, the Changes empty state, changed-file context menus, conflict rows, and the diff header. File actions pass…features/integrations/one-click-editor-actions.md
- Repository Releases dashboardOpen Releases from a GitHub repository rail to search and status-filter the bounded loaded catalog, select a release, inspect metadata and assets, or enter the existing…features/integrations/repository-releases-dashboard.md
- Self-hosted GitHub Actions runner managerDesktop Material can set up and control a repository-scoped GitHub Actions runner on the Windows computer that is running the app. The manager lives in the repository Actions…features/integrations/self-hosted-runner-manager.md
- Self-hosted Windows dependency bootstrapEvery self-hosted Windows job bootstraps its declared dependencies before it builds, tests, packages, or publishes. A warm runner may reuse compatible tools and exact…features/integrations/self-hosted-windows-dependency-bootstrap.md
- SSH working copies and remote cloneRepository Settings → Remote includes an SSH Working Copy manager for a canonical checkout on a chosen host. After saving and testing non-secret host metadata, a user can clone…features/integrations/ssh-working-copy-and-remote-clone.md
- Windows Explorer context menu and quick-action windowAdds Desktop Material actions to the File Explorer right-click menu on folders and folder backgrounds, and gives those actions a small dedicated window instead of booting the…features/integrations/windows-explorer-context-menu.md
- Windows-only product supportDesktop Material is a Windows-only application. Windows is its only supported runtime, build, packaging, installer, release, and end-to-end acceptance environment. Source…features/integrations/windows-only-platform-support.md
- WSL-aware editor openingOn Windows, installed Visual Studio Code editions gain one editor choice per detected Windows Subsystem for Linux distribution, for example Visual Studio Code — WSL: Ubuntu.…features/integrations/wsl-aware-editor-opening.md
Linux Tui
- TUI architecture and XDG persistenceThe terminal edition separates:features/linux-tui/architecture-and-persistence.md
- Cheap LFS-aware Git CLI wrappergithub exposes an argv-preserving Git wrapper alongside the interactive TUI:features/linux-tui/cheap-lfs-git-wrapper.md
- Cheap LFS in the terminal editionThe Linux-first terminal edition can inspect, create, verify, and restore the same desktop-material/cheap-lfs/v1 GitHub Release pointers as the Windows graphical edition. It is…features/linux-tui/cheap-lfs.md
- Linux TUI containerDesktop Material TUI ships a minimal multi-stage tui/Dockerfile for users who prefer an isolated Linux runtime. The builder creates a wheel from the local checkout, installs…features/linux-tui/container.md
- TUI external editor and local version historySettings includes editable editor and terminal command preferences plus editor detection. The toolbar's Editor action opens the active repository with the chosen program. The…features/linux-tui/external-editor-and-version-history.md
- Repository file browserThe Files workspace tab is a first-class, terminal-native browser for the active repository. It lists the real working tree, filters paths locally, shows a bounded preview, and…features/linux-tui/file-browser.md
- TUI GitHub workflowsGitHub features use the installed gh executable. Authenticate outside the app with the GitHub CLI's normal device/browser flow:features/linux-tui/github-workflows.md
- Linux TUI installation and packagingx86-64 or ARM64 GNU/Linux with glibc (musl is not currently compatible withfeatures/linux-tui/install-and-packaging.md
- TUI interaction and accessibilityMouse support is enabled when the application starts. In a compatible terminal, a user can:features/linux-tui/interaction-and-accessibility.md
- TUI language, appearance, and notificationsSettings persists exactly three application language modes:features/linux-tui/language-appearance-notifications.md
- TUI repository and Git workflowsThe repository rail supports:features/linux-tui/repositories-and-git.md
- Repository path browser and quoted pasteThe terminal edition's Open repository, Create repository, and Clone repository dialogs combine a real editable path field with a terminal-native folder browser. A user can…features/linux-tui/repository-path-browser.md
- Repository tabs and saved sessionsDesktop Material TUI keeps every open repository in a persistent, profile-scoped tab session. The compact strip provides immediate switching; the Tabs workspace provides…features/linux-tui/repository-tabs.md
- TUI search and RE2Plain literal search is the default. A user must deliberately select fuzzy or regex mode. The shared search control keeps query, mode, case choice, RE2 flags, validation, and…features/linux-tui/search-and-regex.md
- TUI security and failure modesGit, GitHub CLI, editor, and terminal launches use argument arrays with shell=False. NUL/control validation, explicit repository working directories, stdin policy, captured…features/linux-tui/security-and-failure-modes.md
- TUI verificationFrom tui/:features/linux-tui/verification.md
Quality and reliability
- Background Git reliabilityDesktop Material contains two independent failures found in the July 31, 2026 production log so background maintenance cannot flood the notification stack or silently stop.features/quality-and-reliability/background-git-reliability.md
- Canonical remote preflight warningNetwork mutations that depend on a GitHub repository association now fail closed when Desktop Material cannot prove the configured remote's canonical destination. Instead of…features/quality-and-reliability/canonical-remote-preflight-warning.md
- Central diagnostic loggingDesktop Material can keep logs locally, send them to a self-hosted diagnostic server, or do both. Local-only remains the default. Operators select the destination, optional…features/quality-and-reliability/central-diagnostic-logging.md
- Git hook execution environmentDesktop Material runs a repository's own Git hooks (pre-commit, commit-msg, pre-push, …) through a proxy so a hook that expects a login shell environment behaves the same way…features/quality-and-reliability/git-hook-execution.md
- Git operation auto-fixSafe, recognized auto-fixes for common Git operation failures. A pure decision module classifies a failed operation's error text into a known fixable case, proposes a…features/quality-and-reliability/git-operation-auto-fix.md
- Native large-repository handlingRoot causes for this feature were found live on a 211k-file repository, where background Git maintenance, stale locks, deleted-directory polling, and a slow first git status…features/quality-and-reliability/native-large-repository-handling.md
- No-op renderer update suppressionChanges and History share compare-form state. Selecting either repository section used to send showBranchList: false after every section change, even when the branch list was…features/quality-and-reliability/no-op-render-update-suppression.md
- Observed user-initiated operationsA promise that nobody watches cannot report its own failure. This document describes why a rejected Push origin could surface as a generic "a background action stopped…features/quality-and-reliability/observed-user-initiated-operations.md
- Peer-closed stream writesA write that finishes after the thing on the other end already went away is a routine event, not a crash. This document describes how Desktop Material contains that class of…features/quality-and-reliability/peer-closed-stream-writes.md
- Progressive asynchronous loadingDesktop Material paints and reveals its usable application shell before optional startup work finishes. Expensive repository sections are downloaded and evaluated only when…features/quality-and-reliability/progressive-lazy-loading.md
- Renderer startup bundle safetyDesktop Material's Windows renderer must mount its React root before the main window is shown. A Node-oriented dependency that is concatenated into the browser bundle can fail…features/quality-and-reliability/renderer-startup-bundle-safety.md
- Responsiveness and resource lifecycleDesktop Material bounds repeated background work and releases resources at the same lifecycle boundary that created them. The behavior is automatic; it adds no preference,…features/quality-and-reliability/responsiveness-and-resource-lifecycle.md
- Root renderer resource lifecycleThe root App owns every long-lived renderer subscription and polling timer it starts. Store, updater, drag-manager, and IPC listeners are collected in one CompositeDisposable;…features/quality-and-reliability/root-renderer-resource-lifecycle.md
- Supply-chain and CI hardeningDesktop Material's continuous-integration workflow builds the Windows installers that users actually run, so what its jobs install, how its runs are scheduled, and how it…features/quality-and-reliability/supply-chain-and-ci-hardening.md
Repository management
- Advanced history discoveryThe History page can search loaded commits by title, body, author, tag, or full/short object ID using fuzzy, substring, or regular-expression matching. Its filter chips narrow…features/repository-management/advanced-history-discovery.md
- Automatic commit and push batchingDesktop Material keeps one automatic Git push below a decimal 1.5 GB (1,500,000,000-byte) ceiling when a large selection contains many ordinary files. Changed blobs are capped…features/repository-management/automatic-commit-push-batching.md
- Automatic remote URL refreshDesktop Material repairs a checkout's configured GitHub remote when the provider reports that the repository was renamed or transferred. The repair is a preflight for network…features/repository-management/automatic-remote-url-refresh.md
- Cheap LFS asset versioning and commit provenanceA pinned large file is not frozen. Users edit the video, re-export the model, re-record the sample, and commit again. This page describes exactly what Cheap LFS does with the…features/repository-management/cheap-lfs-asset-versioning.md
- Cheap LFS OCI registry backendDesktop Material can represent the complete Cheap LFS object set for one Git repository as one logical OCI image in GitHub Container Registry (GHCR) or Docker Hub. Select GHCR…features/repository-management/cheap-lfs-oci-registry-backend.md
- Cheap LFS Release payload encryptionDesktop Material can encrypt newly uploaded GitHub Release-backed Cheap LFS payloads with a repository-scoped password. The option is deliberately off by default and applies…features/repository-management/cheap-lfs-release-payload-encryption.md
- Cheap LFS versus Git LFS comparison atlasThe standalone Cheap LFS versus Git LFS comparison atlas is the decision surface for teams choosing how large payloads should leavefeatures/repository-management/cheap-lfs-vs-git-lfs.md
- Clone dialog repository metadataEvery row in the Clone dialog's GitHub repository list is a rich metadata card rather than a bare name, matching the Desktop Material v2 prototype. The card surfaces the…features/repository-management/clone-dialog-repository-metadata.md
- Clone queue settingsDesktop Material exposes its account-scoped automatic-clone policy at Settings → Clone queue. This page is the durable configuration surface for background discovery; it does…features/repository-management/clone-queue-settings.md
- Commit and push all repositoriesOne action that walks every repository Desktop Material knows about, pulls it, commits everything in its working directory under a single message you supply, and pushes the…features/repository-management/commit-and-push-all.md
- Deleted upstream pull recoveryWhen a pull fails because the current branch's remote-tracking branch no longer exists — someone deleted it after merging a pull request, or renamed it on the remote — Desktop…features/repository-management/deleted-upstream-pull-recovery.md
- External stash interoperabilityDesktop Material inventories every entry returned from refs/stash within the bounded metadata-read budget, including stashes created by the Git CLI, another desktop client, or…features/repository-management/external-stash-interoperability.md
- History commit hover timeHistory commit rows expose an accessible hover/focus card with the author and authored date. The date now carries both the exact localized timestamp and a second relative line…features/repository-management/history-commit-hover-time.md
- Ignored files to a local Cheap LFS submodule (local phase)A reviewed workflow that copies working files Git itself currently proves are ignored into a newly created local Git repository and registers that repository as a submodule of…features/repository-management/ignored-files-to-local-submodule.md
- LaunchpadLaunchpad is the repository workspace for reviewing the items that need attention first. It groups repository-backed work into Pinned, Ready to merge, Unassigned, CI failing,…features/repository-management/launchpad.md
- Multi-remote fetch syncThe repository toolbar's ordinary Fetch action now reflects the complete configured topology. A checkout with more than one Git remote is fetched from every configured remote,…features/repository-management/multi-remote-fetch-sync.md
- Named multi-stash managerThe repository-wide Stash Manager inventories every stash entry returned by Git without a Desktop entry-count cap and supports more than one Desktop-managed stash per branch. A…features/repository-management/named-stash-manager.md
- Network and WSL repository pathsAdd local repository accepts normal UNC shares, Windows mapped drives, and WSL UNC shares as first-class repository locations. It preserves the exact UNC root instead of…features/repository-management/network-and-wsl-repository-paths.md
- Parent-folder repository discoveryAdd Local Repository can scan a chosen parent folder, preview every safely detected Git working tree, and add the reviewed result in one action. This is a local discovery aid…features/repository-management/parent-folder-repository-discovery.md
- Patch-series exchangeOpen Repository → Repository tools → Exchange patch series to move a reviewable sequence of commits without publishing a branch.features/repository-management/patch-series.md
- Opt-in post-clone runner provisioningDesktop Material can create a repository-scoped GitHub Actions self-hosted runner immediately after an interactive clone succeeds. The choice is off by default, applies to one…features/repository-management/post-clone-runner-provisioning.md
- Private-repository lock badgeDesktop Material shows a separate filled lock beside a repository's normal leading glyph when GitHub metadata explicitly identifies the repository as private. The lock does not…features/repository-management/private-repository-lock-badge.md
- Publish organization pickerThe Publish repository dialog uses a searchable listbox to choose who will own the new GitHub repository. The first choice is always None — publish to my personal account;…features/repository-management/publish-organization-picker.md
- Reviewed ordinary Git pull previewsThe application-menu Pull action and a right click on the toolbar Pull remote button are a review boundary for an ordinary, single-repository Git pull. Desktop Material fetches…features/repository-management/pull-previews.md
- Release-backed large-file storageThe generated mark above is documentation artwork. It is not embedded in the pointer format and is not required by the transfer protocol.features/repository-management/release-backed-cheap-lfs.md
- Custom repository group managementThe repository side sheet groups rows under Pinned, Recent, one heading per GitHub owner, one per Enterprise host, Other, and any custom group a user has invented. A custom…features/repository-management/repository-group-management.md
- Repository list bulk actionsThe repository side sheet keeps its frequent workspace actions on one compact 44 px row: Add, Select, and More. More contains repository-group creation, workspace sync, and…features/repository-management/repository-list-bulk-actions.md
- Repository list collapsible groupsThe repository side sheet has always grouped rows — Pinned, Recent, a custom group name, one heading per GitHub owner, one per Enterprise host, and Other for everything…features/repository-management/repository-list-group-collapse.md
- Repository list sync summaryEvery row in the repository side sheet carries a small, low-emphasis second line under the repository name summarizing how far that repository has drifted from its tracked…features/repository-management/repository-list-sync-summary.md
- Repository list transfer and Cheap LFSRepository list transfer moves a reviewed set of cloned repositories between Desktop Material profiles or machines. It is deliberately a clone recipe, not a credential or…features/repository-management/repository-list-transfer.md
- Repository picker filters and visibilityThe repository side sheet combines text search with account, provider, and status filters so a large local workspace can be narrowed without changing its saved repository list.features/repository-management/repository-picker-filters-and-visibility.md
- Repository transferTransfer repository moves a GitHub-backed repository into a repository owned by another signed-in GitHub account or organization. It is available from the Repository menu, the…features/repository-management/repository-transfer.md
- Reviewed batch repository syncThe repository picker exposes Sync repositories for workspace-scale network updates. The dialog loads the current persisted repositories, selects all by default, and lets the…features/repository-management/reviewed-batch-sync.md
- Reviewed bulk branch deletion and merge cleanupThe Branches side sheet includes a compact cleanup panel for removing several local branches in one reviewed batch. Current, default, and remote-only branches never enter the…features/repository-management/reviewed-bulk-branch-deletion.md
- Selective stashesThe Stash Manager can save all working-tree changes or only an explicitly reviewed set of changed files. Selected scope operates on whole paths: it does not imply partial-line…features/repository-management/selective-stashes.md
- Guided sparse checkoutDesktop Material manages cone-mode sparse checkout through a three-step Choose/Adjust/Restore → Review selection → Apply and refresh guide. The workflow changes which tracked…features/repository-management/sparse-checkout.md
- Stash export and recovery dialogThe Stash Manager's separate non-blocking dialog has Manage, Export, History, and Appearance and voice tabs. Export searches names, branch associations, and exact stash object…features/repository-management/stash-export.md
- Temporary submodule repository navigationDesktop Material can display an initialized submodule as a repository in the current workspace without importing that submodule into the app's saved repository catalog.features/repository-management/submodule-repository-navigation.md
- Submodule, subtree, and remote creation workflowsRepository Settings brings dependency topology into one workspace. The Submodules surface can add, clone/update, synchronize, configure, remove, or temporarily open a recorded…features/repository-management/submodule-subtree-and-remote-creation.md
- Verified merge-and-cleanup repository syncThe Sync repositories dialog includes a reviewed Merge completed work into main, push, then clean up operation. It integrates eligible local branch tips into main, pushes main…features/repository-management/sync-merge-cleanup.md
- Tag lifecycle managementDesktop Material's Repository tools → Tag lifecycle surface manages local and remote Git tags without an editable command line. It provides a bounded inventory, creation and…features/repository-management/tag-lifecycle-management.md
Review and diff
- Changed-file tree viewChanges, commit History, and pull-request file lists share a persisted Flat/Tree selector. Tree mode groups safe repository-relative paths into a deterministic depth-first…features/review-and-diff/changed-file-tree-view.md
- Changed-file trees and diff contextDesktop Material can organize changed files by directory and remember how much surrounding text to reveal. Both features are presentation preferences: they do not modify…features/review-and-diff/changed-file-trees-and-diff-context.md
- Expanded diff contextDiff Options can automatically reveal whole-file context for eligible text diffs and can set manual expansion steps to 20, 50, or 100 lines. The preference is local…features/review-and-diff/expanded-diff-context.md
- Structured CSV and TSV diffsChanged .csv and .tsv files can switch between the ordinary Code diff and an accessible Table diff. RFC-4180 quoting, escaped delimiters, CRLF/LF, and multiline quoted fields…features/review-and-diff/structured-csv-and-tsv-diffs.md
- Structured data and TGA previewsDesktop Material provides bounded, in-app review modes for delimited text and TGA image changes while preserving the existing Git diff as the source of truth.features/review-and-diff/structured-data-and-tga-previews.md
- TGA image previewsDesktop Material can review supported .tga changes through the existing image-diff modes after an in-memory conversion to a PNG data URL. It supports uncompressed 24/32-bit…features/review-and-diff/tga-image-previews.md
- Theme-aware diff surfacesDesktop Material keeps every text diff surface on the active Material surface token. Unified CodeMirror context rows and standalone side-by-side diffs use the same theme-aware…features/review-and-diff/theme-aware-diff-surfaces.md
Reference and process
Contributing
- Building Desktop for arm64Desktop can be built and run on arm64 (aarch64) hardware such as a Raspberry Pi 3.contributing/building-arm64.md
- GitHub Desktop Engineering ValuesThere's value in defining what we as shepherds of this project believe are important traits and practices. As we grow and welcome new members into our team it's beneficial to…contributing/engineering-values.md
- Authenticating GitHub Enterprise from a Desktop-dev BuildFind or create an organization on the GHE instance that you are an owner ofcontributing/github-enterprise-auth-from-dev-build.md
- LintingWhat is linting, anyways?contributing/linting.md
- Linux Testing and YouGitHub Desktop doesn't currently support Linux in an official capacity, but many in the community have already been experimenting and testing it on their preferred distributions.contributing/linux-testing-and-you.md
- Setting Up Development Dependencies on LinuxYou will need to install these tools on your machine:contributing/setup-linux.md
- Setting Up Development Dependencies on macOSYou will need to install these tools on your machine:contributing/setup-macos.md
- Setting Up Development Dependencies on WindowsYou will need to install these tools on your machine:contributing/setup-windows.md
- Development Environment SetupDesktop Material's graphical Electron edition is developed and accepted on Windows only:contributing/setup.md
- TypeScript Style GuideMost of our preferred style when writing typescript is configured in our .eslintrc.yml files.contributing/styleguide.md
- Profiling Desktop using the Chrome Developer ToolsSometimes performance issues are hard to identify and recreate. If you notice a regression and can reproduce it, you can use the Timeline tools in Chrome Dev Tools to take a…contributing/timeline-profile.md
- Tooling Support for GitHub DesktopRecommended packages:contributing/tooling.md
- Known IssuesHere's a non-exhaustive list of environmental issues that you may encounter while working on GitHub Desktop:contributing/troubleshooting.md
- Upgrading DependenciesThis document outlines how we manage the dependencies that GitHub Desktop needs, as some need to be handled differently to otherscontributing/upgrading-dependencies.md
- Working with PackagesAs we are using yarn for managing packages, here are some helpful tips for whenever you need to work with them.contributing/working-with-packages.md
Handoff records
Provider integrations
- Authenticating to Azure DevOps with GitHub DesktopGitHub Desktop now provides support for Git Credential Manager (GCM), which makes the task of authenticating to Azure DevOps repositories easy and secure. This feature can be…integrations/azure-devops.md
- Authenticating to Bitbucket with GitHub DesktopGitHub Desktop now provides support for Git Credential Manager (GCM), which makes the task of authenticating to Bitbucket repositories easy and secure. This feature can be…integrations/bitbucket.md
- Authenticating to GitLab with GitHub DesktopGitHub Desktop now provides support for Git Credential Manager (GCM), which makes the task of authenticating to GitLab repositories easy and secure. This feature can be enabled…integrations/gitlab.md
Learn more
Postman collections
Process
- Issue TriageThis document describes how we triage issues in desktop/desktop.process/issue-triage.md
- Issue and Pull Request LabelsThis section outlines the labels currently used in the project, and adds context about what each label represents.process/labels.md
- GitHub Desktop MetricsGitHub Desktop sends certain metrics to our analytics system, and we want you to understand what is being sent and why it's important to our ability to continue to improve the…process/metrics.md
- Notes For ContributorsWe recommend open pull requests early - ideally as soon as you have something to show. This is especially helpful for large pieces of work, as continuous integration tests are…process/notes-for-contributors.md
- Pull Request Review ProcessThis document describes how pull requests are handled in desktop/desktop.process/pull-requests.md
- Quality ProcessThis document is a general outline of Quality Engineering practices for Desktop, both for scheduled and ad-hoc testing. The manual test cases used to test Desktop in both Mac…process/quality-process.md
- Release PlanningThis document outlines our process for planning and scheduling releases, so you can familiarize yourself with the flow of work from opening an issue to seeing it published in a…process/release-planning.md
- Upstream historical roadmapThis page preserves the historical GitHub Desktop release themes inherited by Desktop Material. It is not the current Desktop Material plan. For the completed M0–M19…process/roadmap.md
- TeamsWho do you @ for what? See below!process/teams.md
- Testing[ ] User can download latest (Mac & Windows) Desktopprocess/testing.md
- What is GitHub Desktop and who is it for?As we triage issues, evaluate pull requests, and discuss new features, the GitHub Desktop team is making decisions based on our vision for the GitHub Desktop product. The…process/what-is-desktop.md
- Writing Release NotesHere's some basic guidelines for how we write our release notes and what we include in them. yarn draft-release is a great starting point, but not a final version.process/writing-release-notes.md
README tabs
- Complete feature list / 完整功能清單Every feature Desktop Material ships, grouped by area, with an honest label for how each one relates to upstream GitHub Desktop. The Features tab isreadme-tabs/complete-feature-list.md
- Development / 開發Full instructions live in docs/contributing/setup.md. In short, with Node 24.15.0:readme-tabs/development.md
- Features / 功能The full Material Design 3 shell plus every Git and GitHub workflow Desktop Material ships. For milestone status and published CI/release evidence, see the Roadmap & receipts…readme-tabs/features.md
- Supported platform / 支援平台Desktop Material ships as a Windows desktop application and as a Linux-first terminal application. The terminal package keeps the clickable Git and GitHub workflows, repository…readme-tabs/install.md
- Roadmap & receipts / 路線圖同憑證Snapshot recorded on August 13, 2026:readme-tabs/roadmap-and-receipts.md
- Screenshots / 截圖The current refresh used the packaged Windows application from commit eb894d4218670f0e9fd1516dff964edd76e1824c on an isolated off-screen desktop. Fifty-six scene-level captures…readme-tabs/screenshots.md
Top-level pages
- Installing Desktop Material / 安裝 Desktop MaterialDesktop Material has two distinct runtime surfaces. The graphical Electron edition is supported on Windows only and publishes Windows x64 installers plus a Squirrel update…installation.md
- Table of contents / 目錄macOSknown-issues.md
- Desktop Material documentationDesktop Material keeps the upstream GitHub Desktop development documentation while adding product, Material Design, acceptance, and publishing guidance for this fork.README.md
- Regex guide — how search works in Desktop MaterialEvery search bar in Desktop Material (Changes, History, Branches, Repositories, Clone, Actions) has three power tools:regex-guide.md
Screenshots
Technical notes
- Adding tests to the projectThis document explains a bit about our testing infrastructure, and how you can contribute tests to go with changes to the codebase.technical/adding-tests.md
- App Capture Fixturescript/capture-app.js launches the built app with N repositories already open as tabs, optionally drives a few UI steps, and writes a PNG. It exists so screenshots of multi-tab…technical/app-capture-fixture.md
- Platform specific button orderSince this version of Desktop was released, it has been particularly difficult to find a way for our buttons to conform to expectations across platform for Windows and macOS…technical/button-order.md
- Crafting Git TestsThis document outlines the options available for creating tests around Git repositories and data.technical/crafting-git-tests.md
- DialogDialogs are the high-level component used to render popups such as Preferences, and repository setting as well as error messages. They're built upon the new dialog html element…technical/dialogs.md
- Discard ChangesThe Discard Changes feature allows users to clean up uncommitted changes from a repository, and has evolved over time to support different workflows.technical/discard-changes.md
- Documentation site buildThe published documentation site attechnical/documentation-site-build.md
- E2E Smoke TestsThis document explains the end-to-end smoke test harness added for GitHub Desktop, what it covers, how it runs locally and in CI, and which repository files make up the…technical/e2e-smoke-tests.md
- "Open External Editor" integrationGitHub Desktop supports the user choosing an external program to open their local repositories, and this is available from the top-level Repository menu or when right-clicking…technical/editor-integration.md
- Error ReportingFirst we need to make the distinction between expected runtime errors and exceptions. Unfortunately both are represented with the Error class, but they're conceptually…technical/error-reporting.md
- Feature FlaggingTo ensure Desktop along without being blocked on design feedback, we need a way to be able to ship features that are stable but not necessarily ready for general usage. This…technical/feature-flagging.md
- Future Repository StructureThis document is a work in progress which covers where things should be found and outlines how things will be organized in the GitHub Desktop source.technical/future-repository-structure.md
- Developer OAuth AppBecause GitHub Desktop uses OAuth web application flow to interact with the GitHub API and perform actions on behalf of a user, it needs to be bundled with a Client ID and Secret.technical/oauth.md
- Building and Packaging Desktop MaterialDesktop Material is built, packaged, tested, and released as a Windows-only application. The repository retains some inherited upstream platform adapters, but macOS and Linux…technical/packaging.md
- PlaceholdersAs GitHub Desktop uses Webpack to transpile, minify and merge our code into unified scripts for each configuration we define, we use some tricks to manage complexity and enable…technical/placeholders.md
- Automatic Git Proxy SupportThis documented is intended to contain a high level architectural overview of the automatic Git proxy support we're intending to ship in GitHub Desktop 2.4. Since the primary…technical/proxies.md
- Checking out pull requests from a forked repositoryPR #3602 introduced the ability to checkout a branch from a forked repository. In order to accomplish this, we needed a way to manage remotes on your behalf. This document is…technical/pull-requests.md
- Rebase FlowThis document outlines the technical details about the rebase flow as implemented in GitHub Desktop. It is intended to be a simple subset of what is technically possible to do…technical/rebase-flow.md
- "Open Shell" integrationGitHub Desktop supports launching an available shell found on the user's machine, to work with Git repositories outside of Desktop.technical/shell-integration.md
- Syntax Highlighted DiffsWe introduced syntax highlighted diffs in #3101.technical/syntax-highlighting.md
- UI Component Testing with Testing LibraryThis document describes the supported path for DOM-based UI component tests in GitHub Desktop.technical/ui-component-testing.md
- Windows Menu BarOne of the design decision early on with GitHub Desktop assumed a high-fidelity application menu. On macOS we get that for free since the application menu is detached from the…technical/windows-menu-bar.md
Verification records
- Cross-provider account switching recheck — 2026-08-05Mode: local-docsverification/account-switching-recheck-2026-08-05/run-manifest.md
- Agent repair and background progress verification — 2026-07-30The Windows production renderer was built with the repository's exact headless command and launched from out/main.js on the off-screen Win32 desktop…verification/agent-repair-progress-2026-07-30.md
- Cross-lane automatic updater verification — 2026-07-22/23Desktop Material's installed legacy Super Express build 3.6.3-beta3-s000000000201 now moves forward through the ordinary and Super Express release lanes. Both lanes use a…verification/auto-updater-version-order-2026-07-22.md
- Bug-hunt cleanup ledgerRun ID: bug-hunt-2026-07-26-019f9f87verification/bug-hunt-2026-07-26/cleanup-ledger.md
- Bug-hunt publish run manifestRun ID: bug-hunt-2026-07-26-019f9f87verification/bug-hunt-2026-07-26/run-manifest.md
- Final bug-hunt verification runRun ID: bug-hunt-20260728-finalverification/bug-hunt-2026-07-28/run-manifest.md
- Cheap LFS Bambu build cloud, clone, and batching acceptance — 2026-07-23This receipt records a live public-repository Cheap LFS acceptance with a real 14.8 GB Windows build tree. The four app-created payload batches, managed cloud caller,…verification/cheap-lfs-bambu-build-2026-07-23.md
- Cheap LFS cloud compression acceptance — 2026-07-22This receipt covers the public-auto/private-opt-in cloud-compression policy, one-object-at-a-time GitHub Actions implementation, automatic pointer adoption, failure-safe raw…verification/cheap-lfs-cloud-compression-2026-07-22.md
- Cheap LFS commit progress and push batching — 2026-07-23This record covers the final local first-publication acceptance of the Cheap LFS commit terminal, bounded parallel uploads, OCI storage, provider routing, automatic…verification/cheap-lfs-commit-progress-2026-07-23.md
- Cheap LFS public/private GitHub and UI acceptance — 2026-07-22Cheap LFS passed live GitHub storage, fresh-clone history, and Desktop Material UI acceptance in both repository visibility modes while authenticated as DingDingChae. The two…verification/cheap-lfs-github-public-private-2026-07-22.md
- Cheap LFS Pages headless cleanup ledgerRun ID: cheap-lfs-pages-2026-07-27verification/cheap-lfs-pages-2026-07-27/cleanup-ledger.md
- Cheap LFS GitHub Pages visual-guide verificationThe dedicated site/cheap-lfs.html guide was exercised in an off-screen, installed Chrome process at 1440×960 and 390×844. The run loaded all 17 images (12 labelled concept…verification/cheap-lfs-pages-2026-07-27/README.md
- Cheap LFS GitHub Pages visual guide — run manifestMode: publishverification/cheap-lfs-pages-2026-07-27/run-manifest.md
- Cheap LFS Pages revamp headless cleanup ledgerRun ID: cheap-lfs-pages-revamp-2026-07-28verification/cheap-lfs-pages-revamp-2026-07-28/cleanup-ledger.md
- Cheap LFS Pages comparison and push-guide verificationDate: 2026-07-28verification/cheap-lfs-pages-revamp-2026-07-28/README.md
- Cheap LFS GitHub Pages product-guide revamp — run manifestMode: publishverification/cheap-lfs-pages-revamp-2026-07-28/run-manifest.md
- Cheap LFS payload encryption — built-app capture, 2026-07-28Visual evidence for issue #78 (optional password encryption for Cheap LFS payloads).verification/cheap-lfs-payload-encryption-2026-07-28/README.md
- Cheap LFS vs Git LFS Pages headless cleanup ledgerRun ID: cheap-lfs-vs-git-lfs-pages-2026-07-28verification/cheap-lfs-vs-git-lfs-pages-2026-07-28/cleanup-ledger.md
- Standalone Cheap LFS versus Git LFS Pages acceptance — 2026-07-28Local Pages acceptance is complete. The assembled site passed the route contracts and an installed-Chrome run through the exact Lowlevel MCP HTTP service. The accepted run…verification/cheap-lfs-vs-git-lfs-pages-2026-07-28/README.md
- Cheap LFS vs Git LFS standalone comparison page — run manifestMode: publishverification/cheap-lfs-vs-git-lfs-pages-2026-07-28/run-manifest.md
- Close-all-open-issues cleanup ledgerRun ID: close-all-open-issues-20260728verification/close-all-open-issues-2026-07-28/cleanup-ledger.md
- Close-all-open-issues verification runRun ID: close-all-open-issues-20260728verification/close-all-open-issues-2026-07-28/run-manifest.md
- Cleanup ledgerThe source fixture was verified before cleanup: feature/worktree-switch retained one modified README.md, while the new main worktree was clean and the application reported zero…verification/dirty-worktree-worktree-option-20260805/cleanup-ledger.md
- Dirty-worktree worktree option — headless verification manifestMode: publishverification/dirty-worktree-worktree-option-20260805/run-manifest.md
- Funny-level sliders — built-app capture, 2026-07-28Visual evidence for issue #83 (restore the missing English and Cantonese funny-level sliders).verification/funny-level-sliders-2026-07-28/README.md
- Handoff closeout verification runRun ID: handoff-closeout-20260802verification/handoff-closeout-2026-08-02/run-manifest.md
- Built app launched on an off-screen desktop — 2026-07-28Independent confirmation that the production build actually runs, captured through a completely different route from the Playwright-driven fixture used elsewhere in…verification/headless-desktop-launch-2026-07-28/README.md
- Issue #94 and #80 built-app evidence — 2026-07-31Real captures from the production bundle, produced on an off-screen Win32 desktop through the project's own capturegallerycdp.js harness. These are issue evidence, not…verification/issue-94-80-evidence-2026-07-31/README.md
- Linux TUI publish cleanup ledgerRun ID: linux-tui-2026-07-27-019fa510verification/linux-tui-2026-07-27/cleanup-ledger.md
- Linux TUI publish run manifestRun ID: linux-tui-2026-07-27-019fa510verification/linux-tui-2026-07-27/run-manifest.md
- Linux TUI path browser and Git wrapper cleanup ledgerRun ID: linux-tui-path-browser-wrapper-2026-07-27-019fa510verification/linux-tui-path-browser-wrapper-2026-07-27/cleanup-ledger.md
- Linux TUI path browser and Git wrapper run manifestRun ID: linux-tui-path-browser-wrapper-2026-07-27-019fa510verification/linux-tui-path-browser-wrapper-2026-07-27/run-manifest.md
- Linux TUI revival cleanup ledgerNo existing container, checkout, user repository, or unrelated workload is in the cleanup scope.verification/linux-tui-revival-2026-08-02/cleanup-ledger.md
- Linux TUI revival verification manifestThis receipt tracks the 2026-08-02 revival of the interactive Linux terminal edition. It is updated only with observed evidence; a planned check is not a passing check.verification/linux-tui-revival-2026-08-02/run-manifest.md
- MD3 Compliance Audit ReportTarget: Desktop Material Windows desktop app (app/styles, app/src/ui) Date: 2026-07-31 Method: source audit per the Material 3 skill's audit procedure (web/CSS…verification/md3-ui-audit-2026-07-31.md
- Original GitHub OAuth release proof — 2026-08-06This dated acceptance proves the real production Windows bundle uses Desktop Material's original registered GitHub OAuth application and the exact x-github-client://oauth…verification/original-github-oauth-release-20260806/README.md
- Publish organization picker sizing acceptance — 2026-07-30This receipt covers the Publish repository → Organization listbox repair. It does not claim that a repository was published: the acceptance fixture has no remote, uses a…verification/publish-organization-picker-2026-07-30/README.md
- Cleanup ledgerRun ID: desktop-material-renderer-perf-20260728verification/renderer-responsiveness-2026-07-28/cleanup-ledger.md
- Renderer responsiveness verificationSource: release v3.6.3-beta3-zadughkqcvverification/renderer-responsiveness-2026-07-28/README.md
- Renderer responsiveness run manifestMode: publishverification/renderer-responsiveness-2026-07-28/run-manifest.md
- Repository group management — built-app capture, 2026-07-28Visual evidence for issue #81 (first-class repository and tab group management).verification/repository-group-management-2026-07-28/README.md
- Repository list and agent-session dialog verification runRun ID: repository-list-agent-dialog-20260802verification/repository-list-agent-dialog-2026-08-02/run-manifest.md
- Repository transfer headless verification — 2026-08-05Mode: capture-onlyverification/repository-transfer-2026-08-05/run-manifest.md
- Responsive surface matrix — 2026-07-17The final hidden-renderer smoke gate inventories every registered repository page, preferences page, repository-settings page, clone tab, notification tab, File History tab,…verification/responsive-surface-matrix-2026-07-17.md
- Shift+Right-click opens appearance editors — built-app capture, 2026-07-28Visual evidence for issue #89.verification/shift-right-click-appearance-2026-07-28/README.md
- New tab group dialog is overlapped by the toolbar — built-app capture, 2026-07-28Evidence for the defect found while capturing issue #81.verification/tab-group-dialog-overlap-2026-07-28/README.md
- Tab groups and command palette verification — 2026-07-22This receipt records local acceptance for the persistent tab-group and rich command-palette continuation. It does not claim a commit, remote publication, CI, Pages, wiki, or…verification/tab-groups-command-palette-2026-07-22.md
- UI design audit cleanup ledgerRun ID: ui-design-audit-2026-07-20-9f64a2c1verification/ui-design-audit-2026-07-20/cleanup-ledger.md
- Desktop Material implementation UI inventoryDate: 2026-07-20 Worktree: desktop-material-ui-audit-20260720 Scope: static implementation inventory for comparison with the supplied Material Design UI Recreation (1).zip…verification/ui-design-audit-2026-07-20/implementation-inventory.md
- Desktop Material design-reference inventoryDate: 2026-07-20verification/ui-design-audit-2026-07-20/reference-inventory.md
- UI design audit run manifestRun ID: ui-design-audit-2026-07-20verification/ui-design-audit-2026-07-20/run-manifest.md
- Runtime plan: full UI parity audit against the supplied design ZIPThis document defines the repeatable runtime audit for ui-design-audit-2026-07-20. It is a plan, not an execution receipt. A result may be called complete only when the…verification/ui-design-audit-2026-07-20/runtime-plan.md
- Static UI audit findingsDate: 2026-07-20 Scope: post-remediation source and verification-harness review Runtime status: pendingverification/ui-design-audit-2026-07-20/static-findings.md
Wiki pages
- Agent APIDesktop Material ships a built-in agent control surface so an AI agent can drive the app programmatically. It is exposed as an MCP server with a local HTTP + CLI fallback for…wiki/Agent-API.md
- AutomationDesktop Material can run parts of the Git workflow for you on a schedule or on demand: auto commit & push, auto pull, and merge-all branches/worktrees. Automation is designed…wiki/Automation.md
- Developer GuideCompare-form updates flow through the root AppStore, so an identical update is not free: without an equality gate it schedules another full renderer pass. Repository section…wiki/Developer-Guide.md
- Guided Feature GalleryTreat every gallery entry as part of a workflow: find the capability, open its named surface, review the exact scope, and keep the resulting evidence.wiki/Feature-Gallery.md
- Desktop MaterialUse this map to choose a starting point: learn the daily workflow in the User Guide, browse shipped surfaces in the Feature Gallery, or open a specialist guide for deeper details.wiki/Home.md
- Regex guide — how search works in Desktop MaterialEvery search bar in Desktop Material (Changes, History, Branches, Repositories, Clone, Actions) has three power tools:wiki/Regex-Guide.md
- Submodules — little projects inside your projectThis is the simplest page in the wiki. On purpose.wiki/Submodules.md
- User GuideThe safest rhythm is simple: inspect, stage, commit, then synchronize. The tools below add power without changing that basic loop.wiki/User-Guide.md