Redesign the main screen around inline discovery#26
Merged
Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 withCtrl+1…9accelerators. 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/.slnfdetected per target; the Solution box now filters chips); every other tool opens the folder. The Solution/Folder toggle is removed (--folderpre-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-remotesweep 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/-ekept). 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
🤖 Generated with Claude Code