Skip to content

Redesign the main screen around inline discovery#26

Merged
seankearon merged 2 commits into
mainfrom
ui-redesign
Jul 22, 2026
Merged

Redesign the main screen around inline discovery#26
seankearon merged 2 commits into
mainfrom
ui-redesign

Conversation

@seankearon

Copy link
Copy Markdown
Owner

Implements the Claude Design handoff (design/design_handoff_fido_redesign) and restores branch placement as an inline flow.

What changed

Discovery is the core loop. Typing a branch (600 ms debounce, or Enter) scans every configured working tree; results render inline as selectable cards labelled worktree / main clone (worktrees first, first auto-selected). The chooser, decision, and delete-worktree dialogs are gone — nothing auto-pops.

Open actions are gated on discovery. The default tool is a full-width hero button (config, gear popover, or --tool; "no default" gives an equal-weight grid); the remaining tools sit in a 3-column grid with Ctrl+1…9 accelerators. Everything stays visible but locked until the branch is found, with the reason stated in place.

Solution behaviour is per-tool. Rider and Visual Studio open the chosen solution chip (.sln/.slnx/.slnf detected per target; the Solution box now filters chips); every other tool opens the folder. The Solution/Folder toggle is removed (--folder pre-selects the Folder chip).

Delete moved inline. Worktree-only, two-step in-place confirm with uncommitted-change/orphaned-commit warnings; removes the worktree and local branch, never origin. The long-path force-delete recovery is retained.

A branch checked out nowhere is offered as a "new worktree" card. Scanned clones' refs are consulted (local branch, cached origin ref, then one live ls-remote sweep for never-fetched branches); opening a candidate creates the worktree — fetch/track included — then launches. This replaces the old decision-dialog placement flow and the New-branch repos settings list.

CLI: fido <branch> [tool], --branch/-b, --solution/-s, --tool/-t (kind aliases + none; --editor/-e kept). A branch prefills and scans; a named tool becomes the run's hero and auto-opens only when exactly one location is found.

Look: the handoff's warm cream/amber palette lands verbatim as the Light theme, with the Dark theme re-derived in the same hues; colour-coded flight-log line kinds; content-hugging window height.

Verification

  • 161/161 tests pass — the dialog-driven E2E suites were rewritten for the phase machine, plus new coverage for solution chips, CLI/default-tool boundaries, inline delete, new-worktree creation, and rendered-button clicks.
  • A headless screenshot walkthrough captures every design state (idle, scanning, found single/multiple, not-found, delete confirm, no-default grid, new-worktree offer) for eyes-on comparison with the prototype.
  • The redesign commit went through a 33-agent adversarial review (5 lenses, per-finding verification); all 23 confirmed findings were fixed. Docs and changelog updated.

🤖 Generated with Claude Code

seankearon and others added 2 commits July 22, 2026 14:13
Implements the Claude Design handoff (design/design_handoff_fido_redesign):

- Discovery is the core loop: typing a branch (debounced, or Enter) scans
  every configured working tree and renders the results inline as selectable
  cards, each labelled worktree or main clone — no auto-popping dialogs.
- Open actions are gated on discovery: the default tool is a hero button
  (config or CLI --tool, incl. "none" for an equal-weight grid), the rest sit
  in a 3-column grid, all visible but locked until the branch is found.
- Rider and Visual Studio open the chosen solution chip (the Solution box now
  filters chips); every other tool opens the folder. The Solution/Folder
  toggle is gone; --folder starts the run on the Folder chip.
- Delete moved to the main screen: worktree-only, two-step inline confirm
  with dirty/orphan warnings, removes the worktree and local branch only.
  The long-path force-delete recovery is retained.
- The gear opens a default-tool popover with a door to full settings; the
  chooser/decision/delete dialogs and the branch-placement flow are removed.
- Handoff palette lands verbatim as the Light theme with a warm-dark
  derivation for Dark; flight-log lines are colour-coded per kind.

Tests: dialog-driven E2E suites rewritten for the phase machine (160 pass);
a screenshot walkthrough captures every design state headlessly. Docs and
changelog updated.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Restores the branch-placement flow inline (the redesign had dropped it with
the decision dialog). When discovery finds no working tree on the branch, the
scanned clones' refs are consulted — local branch, cached origin ref, then
one live ls-remote sweep for branches never fetched — and each match renders
as a selectable "new worktree" card showing where the worktree would be
created. Opening it creates the worktree first (fetch/track via the existing
opener machinery), re-finds the chosen solution inside the new tree, then
launches. Candidates preview the clone's solutions as chips and are never
deletable. Candidates come from the clones discovery already scans, so no
separate repo list is needed.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@seankearon
seankearon merged commit df2957b into main Jul 22, 2026
2 checks passed
@seankearon
seankearon deleted the ui-redesign branch July 22, 2026 15:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant