Plan 09: Right Panel Tool Flows
Summary
Wire the right panel into real tool flows for Files, Browser, nvim, and Git mode.
Requirements
- Technical Requirements: Right Tool Panel, File Browser, Browser Mode, nvim Mode, Git Mode, External Tools, Global Navigation.
- Non-Functional Requirements: Usability, Reliability, Accessibility.
- Testing Requirements: E2E Scope, Inputs And Outputs.
- Standards: nvim Standard, lazygit Standard, libghostty Standard.
Implementation
- Keep right-panel state scoped to the selected thread.
- Switch modes through visible mode controls and
Cmd+Shift+[/Cmd+Shift+]. - Opening a supported preview file from Files mode switches to Browser mode and loads the local file through an isolated WebKit helper process.
- Browser renderer crashes leave the main app running and show a reload/restart recovery state.
- Opening a file switches to
nvimmode and launchesnvim <relative-file-path>in the right-panel terminal. - Opening Git mode launches
lazygitin the selected thread working directory. - Resolve
nvimandlazygitfrom the user’sPATH. - Show raw terminal error output when external tools are missing or fail to launch.
- Do not implement a custom editor or source control UI.
Tests
- Unit tests for mode-scoped state by thread.
- Unit tests for command construction using relative file paths.
- Integration tests for missing-tool behavior where safe.
- E2E coverage once the E2E harness exists.
Acceptance Criteria
- Files, Browser,
nvim, and Git modes are selectable in the right panel. - Right-panel mode persists per thread.
Cmd+Shift+[andCmd+Shift+]cycle right-panel modes.- Supported local preview files open in Browser mode from the file browser context menu.
- Browser mode is process-isolated from the main app.
- Opening a file launches
nvim <relative-file-path>inside the right panel. - Git mode launches
lazygitinside the right panel. - Missing or failing tools show raw terminal error output.
scripts/build.shpasses.scripts/test.shpasses with right-panel flow coverage.