Summary
Add a "Reveal in Finder" (macOS) / "Reveal in Explorer" (Windows) / "Open in File Manager" (Linux) action to the right-click context menu of project rows.
Acceptance criteria
Files to touch
src/preload/index.ts (new IPC contract)
src/main/index.ts (IPC handler)
src/renderer/src/components/projects/ProjectItem.tsx (menu item)
tests/unit/<existing-relevant-test>.ts (verify IPC wiring)
How to test
- Run
npm run dev, right-click any project, select the new menu item — the system file manager should open at the project root with the folder pre-selected.
- Repeat across all three OSes if you can.
Notes
shell.showItemInFolder is built into Electron — no new dependencies.
- Cross-platform string for the label is required per repo conventions.
Effort: 2-4 hours.
Summary
Add a "Reveal in Finder" (macOS) / "Reveal in Explorer" (Windows) / "Open in File Manager" (Linux) action to the right-click context menu of project rows.
Acceptance criteria
window.dplex.shell.revealInFolder(absPath: string): Promise<void>.shell.showItemInFolder(absPath).src/renderer/src/components/projects/ProjectItem.tsx(look for the existing "Open Terminal" and "Copy Path" entries).Files to touch
src/preload/index.ts(new IPC contract)src/main/index.ts(IPC handler)src/renderer/src/components/projects/ProjectItem.tsx(menu item)tests/unit/<existing-relevant-test>.ts(verify IPC wiring)How to test
npm run dev, right-click any project, select the new menu item — the system file manager should open at the project root with the folder pre-selected.Notes
shell.showItemInFolderis built into Electron — no new dependencies.Effort: 2-4 hours.