Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
716f17c
fix: honor Git hooks for every commit and amend
danielss-dev Sep 6, 2026
ecaedde
fix(hosted): paginate GitHub inbox and review connections
danielss-dev Sep 6, 2026
062a482
feat: show effective repository identity and local overrides
danielss-dev Sep 6, 2026
3cb857c
feat(hosted): add explicit deferred merge lifecycle controls
danielss-dev Sep 6, 2026
d0a37df
feat: add validated patch mailbox and bundle interchange
danielss-dev Sep 6, 2026
31f5ff1
feat: guide manual bisect with external state and safe reset
danielss-dev Sep 6, 2026
09d4cc0
feat: add personal repository ref and file actions
danielss-dev Sep 6, 2026
86e2699
Support sparse worktrees and scoped Git clones
danielss-dev Sep 6, 2026
ba6794c
feat(hosting): add GitLab, Bitbucket Cloud and custom GitHub adapters
danielss-dev Sep 6, 2026
4ec788b
Expose sparse checkout and clone history controls
danielss-dev Sep 6, 2026
b9a7c68
feat(hosting): add resumable repository publication with explicit ini…
danielss-dev Sep 6, 2026
cf15775
feat(lfs): preserve pointer filters and add repository management
danielss-dev Sep 6, 2026
4d390ce
feat: manage Git notes replacements and reviewed tag edits
danielss-dev Sep 6, 2026
41e0b7d
feat(submodules): add guarded lifecycle management and nested inspection
danielss-dev Sep 6, 2026
340973f
feat: add scoped signing controls and signed tags
danielss-dev Sep 6, 2026
961aed6
feat(hosted): compare reviewed heads and apply validated feedback
danielss-dev Sep 6, 2026
f688b6a
feat: add opt-in reviewed Git-flow workflows and recovery
danielss-dev Sep 6, 2026
e20096d
Merge hooks, identity, and signing integration
danielss-dev Sep 6, 2026
43a3fb7
Fix provider adapter Clippy borrows
danielss-dev Sep 6, 2026
623261c
Integrate sparse checkout with hooks and LFS safeguards
danielss-dev Sep 6, 2026
53b4201
Recognize quoted bisect terms from older Git versions
danielss-dev Sep 6, 2026
6142c23
Integrate user actions with repository lifecycle controls
danielss-dev Sep 6, 2026
eb6d8ea
Correct integration validation note formatting
danielss-dev Sep 6, 2026
37077c3
Merge branch 'developments/sparse-and-clone' into developments/f15-us…
danielss-dev Sep 6, 2026
582a955
Integrate advanced Git workflows with repository controls
danielss-dev Sep 6, 2026
58a0e37
Integrate hosted publishing with repository workflows
danielss-dev Sep 6, 2026
11bfe84
Integrate paginated review and completion with scoped hosted providers
danielss-dev Sep 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,8 @@ jobs:
libayatana-appindicator3-dev \
librsvg2-dev \
libssl-dev \
build-essential
build-essential \
git-lfs

- name: Setup Rust
uses: dtolnay/rust-toolchain@stable
Expand Down
3 changes: 3 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion PRD.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ It will be built as a **Tauri 2** application with a **Rust** git backend and a
| App shell | **Tauri 2** | True cross-platform, small bundles (~10MB vs Electron's ~100MB+), native webview per OS, signed installers built-in. |
| Backend language | **Rust** | Speed, safety, and a great Git ecosystem (`gix`, `git2`). Pairs natively with Tauri. |
| Git engine (read) | **`gix` (gitoxide)** | Pure-Rust, modern, dramatically faster than libgit2 for log/diff/status on large repos. |
| Git engine (write) | **`git2` (libgit2)** + shell-out to `git` | Use `git2` for commit/branch/merge/rebase where stable. Shell out to the user's `git` binary for ops that need it: interactive rebase, GPG signing, Git LFS, Git-flow, hooks. This is what Sublime Merge and Tower do — it's the right call. |
| Git engine (write) | **`git2` (libgit2)** + shell-out to `git` | Use `git2` for index/branch writes where stable. Commit/amend always use system Git for hook parity. Shell out to the user's `git` binary for ops that need it: interactive rebase, GPG signing, Git LFS, Git-flow, hooks. This is what Sublime Merge and Tower do — it's the right call. |
| Frontend | **React + TypeScript** | Required by `@pierre/diffs` and `@pierre/trees`. |
| Diff & code rendering | **`@pierre/diffs`** | Split/stacked diffs, merge conflict UI, line selection, annotations, Shiki themes. Covers most of §6.3. |
| File tree | **`@pierre/trees`** | Virtualized (handles 100k+ files), Git status badges built in, drag-and-drop, search, keyboard nav, accessible. Covers §6.5. |
Expand Down
57 changes: 55 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,36 @@ the resolved app appearance automatically.

## Features

- **More hosting providers** — GitLab merge requests and Bitbucket Cloud pull
requests use the review workspace, with paged lists, comments, inline threads
and supported review decisions. GitHub Enterprise/custom hosts use their own
CLI authentication scope; select custom adapters in Settings → Hosting.
GitLab merges guard the reviewed head and follow project settings. Bitbucket
merge, GitLab request-changes and Bitbucket draft transitions remain
provider-site actions. Bitbucket Server is not supported.
- **Publish repository** — create an empty GitHub/Enterprise, GitLab or Bitbucket
Cloud repository after reviewing its account, destination and visibility.
Add the remote, then explicitly choose whether to push the reviewed commit.
Interrupted creation and remote setup can be resumed from the same dialog.

- **Personal user actions** — define repository, ref, and working-tree file
commands in Settings → Integrations. Menu and palette entries open an exact
executable/argument/working-directory preview, with bounded output and cancellation.

- **Repository size controls** — clone a chosen branch with optional depth,
single-branch fetching, on-demand file contents (`blob:none`), and recursive
submodules. Inspect clone scope and download more or full history from the
network menu or palette. Sparse checkout selects cone directories, distinguishes
excluded files from deletions, and preserves external sparse indexes on reads.
Selection changes refuse dirty trees and ignored-file removal.

- **Git LFS** — repository setup, tracking patterns, object/transfer status,
downloads/uploads and server locks from the sidebar and command palette.
Whole-file staging, checkout, discard and hard reset honor LFS filters;
history is never migrated.
- **Submodule lifecycle** — add, remove, deinitialize, synchronize URLs, and
inspect nested modules in pages. Network work is cancellable; dirty module
contents, ignored files and unrecorded commits block removal/deinitialization.
- **Responsive refreshes** — repository updates coalesce during bursts of
agent edits, hidden diff panes load patches when opened, and Files reuses
its inventory until paths or ignore rules change. Workspace scans run with
Expand Down Expand Up @@ -135,7 +165,7 @@ the resolved app appearance automatically.
Codex or Claude Code subscription can inspect that exact review set for
possible defects. Findings stay pending until you explicitly add selected
ones as severity-labelled notes; AI review never edits repository files.
- **Hosted pull requests** — browse the latest 100 GitHub or Azure DevOps PRs
- **Hosted pull requests** — browse GitHub PRs with cursor pages or the latest 100 Azure DevOps PRs
for the active repository, with the active PR for your checked-out branch
opening and being followed automatically even before the PR view is opened.
Create a PR or draft for the checked-out branch from the toolbar or command
Expand Down Expand Up @@ -169,6 +199,12 @@ the resolved app appearance automatically.
drafts expose **Ready for review** in place of Merge; active PRs merge with
merge-commit, squash, or rebase through a GitHub-style split control and can
update their source from the target on GitHub with an expected-head guard.
Explicit GitHub merge queue/auto-merge and Azure auto-complete controls show
provider capability, enable/cancel, policy state and queue position separately
from a completed merge.
**Review tools** saves a reviewed head, compares exact trees across pushes or
rebases, exports all unresolved feedback with replies, and previews validated
standard suggestions before applying them to a clean local file.
Every GitHub or Azure PR can open its exact provider head in a new worktree
without changing local refs or `FETCH_HEAD`. Active PRs can be closed from a
confirmed overflow action. Closed PRs can be reopened;
Expand Down Expand Up @@ -210,7 +246,11 @@ the resolved app appearance automatically.
(fetch-first for remote bases) and copies gitignored setup files listed in
`.worktreeinclude` (`.env`, local settings) so agents can run out of the
box. Stale entries whose directories are already gone prune immediately.
- **Everyday Git** — stage, unstage, or recoverably discard whole change
- **Everyday Git** — hook-aware signed/unsigned commit and amend with checkout
session drafts and bounded output; effective repository author/committer identity
with local overrides in Settings → Git; repository/worktree signing settings,
per-operation signing choices, and signed-tag creation/verification; stage,
unstage, or recoverably discard whole change
blocks or individually selected lines inline in the diff; bulk tree actions
include every selected file and every changed file beneath selected folders;
initialize a repository with an initial branch, optional
Expand All @@ -231,6 +271,19 @@ the resolved app appearance automatically.
merge, and a fully keyboard-operable interactive rebase (reorder, reword,
edit/pause-to-amend, squash, fixup, drop, and merge preservation) with
pause/conflict Continue / Abort.
- **Patch interchange** — preview affected paths and validate patch imports
into the working tree, index, or both; import mailboxes with original authors
and Continue / Skip / Abort recovery; verify bundle refs and prerequisites,
import into a new branch, and export full or incremental bundles.
- **Git-flow workflows** — opt-in Git-flow AVH detection and repository
configuration, reviewed feature/release/hotfix start and finish, streamed
output, and merge recovery that retains already completed stages.
- **Advanced Git refs** — inspect and edit Git notes and replacement refs;
retarget or re-annotate existing unsigned tags with old/new targets and
optional remote publication checks. External edits require a fresh review.
- **Guided bisect** — start from known good/bad revisions, test and mark
good/bad/skip, inspect remaining candidates and the culprit, resume external
sessions, and reset to the original checkout while protecting test edits.
- **Commit graph** — SVG lanes with branch/tag chips, revealable inline stash
nodes with non-mutating diff inspection, a
resizable commit detail panel with lazy GPG/SSH/X.509 verification,
Expand Down
Loading
Loading