Skip to content

[codex] Improve command palette project picker#2

Merged
Eccentric-jamaican merged 1 commit into
mainfrom
codex/command-palette-project-picker
Jun 11, 2026
Merged

[codex] Improve command palette project picker#2
Eccentric-jamaican merged 1 commit into
mainfrom
codex/command-palette-project-picker

Conversation

@Eccentric-jamaican

@Eccentric-jamaican Eccentric-jamaican commented Jun 11, 2026

Copy link
Copy Markdown
Owner

Summary

  • Turns the command palette into the shared entry point for adding/opening projects.
  • Adds an in-app folder picker mode with breadcrumbs, quick roots, folder filtering, manual path entry, and a visible return-to-commands button.
  • Routes sidebar add-project and clone parent-folder selection through the same in-app picker instead of the native desktop folder picker.
  • Adds focused unit coverage for folder roots, filtering, and mode behavior.

Why

The native folder picker interrupted the app flow and made project selection feel separate from the rest of the command palette. This keeps users inside the same command surface and makes navigation more discoverable.

Validation

  • bun run --cwd apps/web test -- src/components/SidebarSearchPalette.logic.test.ts
  • bun run lint
  • bun run typecheck
  • Browser checked the running app at http://localhost:5734/2c12f8cc-eb36-4a6c-a507-9a60514503cb: folder mode opens, filters folders, hides quick roots while searching, and the new Commands button returns to the main palette.

Summary by CodeRabbit

Release Notes

  • New Features

    • Added Ctrl+K keyboard shortcut to open the command palette.
    • Enhanced project addition and Git repository cloning with integrated folder browsing and directory listing.
    • Search palette now supports folder selection mode alongside search mode.
  • Improvements

    • Refined sidebar workflow for adding projects and cloning repositories with streamlined folder picker integration.

@coderabbitai

coderabbitai Bot commented Jun 11, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: f8260b88-4feb-4329-9755-ae0b876c2da8

📥 Commits

Reviewing files that changed from the base of the PR and between 1046092 and 0a6daf4.

📒 Files selected for processing (6)
  • apps/web/src/components/Sidebar.browser.tsx
  • apps/web/src/components/Sidebar.tsx
  • apps/web/src/components/SidebarSearchPalette.logic.test.ts
  • apps/web/src/components/SidebarSearchPalette.logic.ts
  • apps/web/src/components/SidebarSearchPalette.tsx
  • apps/web/src/components/ui/autocomplete.tsx

📝 Walkthrough

Walkthrough

This PR adds a folder-picker mode to the sidebar search palette, enabling in-app folder selection for project addition and git cloning. It introduces cross-platform path utilities, extends the search palette with folder navigation and directory listing, integrates the new mode throughout the sidebar, and validates the feature with comprehensive test coverage.

Changes

Folder-picker search palette feature

Layer / File(s) Summary
Folder path logic and data structures
apps/web/src/components/SidebarSearchPalette.logic.ts
New SidebarFolderRoot and SidebarFolderEntry interfaces with utilities for detecting absolute paths, joining paths cross-platform, and building/filtering folder roots and directory entries by normalized query.
Search palette folder-picker mode
apps/web/src/components/SidebarSearchPalette.tsx
Palette gains "folder" mode alongside "search": tracks current folder path, loads directory entries via async callback with caching, renders breadcrumbs and folder entries, stages clone parameters, and gates separators/footer text by mode.
Sidebar palette mode wiring
apps/web/src/components/Sidebar.tsx
Removes old inline add-project composer; adds searchPaletteMode state and openSearchPalette(mode) helper to route search and folder-open actions through the palette; computes folder roots and updates palette callbacks to accept parent directory.
AutocompleteInput endAddon prop
apps/web/src/components/ui/autocomplete.tsx
Adds optional endAddon prop to render an end-positioned addon element inside the input wrapper with responsive end padding.
Folder path logic unit tests
apps/web/src/components/SidebarSearchPalette.logic.test.ts
Test suite for path utilities: folder root construction, directory filtering, absolute-path detection, and cross-platform path joining and parent traversal.
Browser test mocking and palette coverage
apps/web/src/components/Sidebar.browser.tsx
Test harness gains RPC mocks for directory listing and git clone, Ctrl+K keybinding fixture, and test cases covering palette open/close, "Open folder" flows, in-app project addition, and clone destination selection.

🎯 3 (Moderate) | ⏱️ ~20 minutes

🐰 A search palette with folders anew,
Cross-platform paths now find their way through,
No native dialogs needed today—
The rabbit picks folders, all in-app, hooray! 🎉

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/command-palette-project-picker

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@Eccentric-jamaican Eccentric-jamaican marked this pull request as ready for review June 11, 2026 05:00
@Eccentric-jamaican Eccentric-jamaican merged commit 4a4710e into main Jun 11, 2026
0 of 2 checks passed
@Eccentric-jamaican Eccentric-jamaican deleted the codex/command-palette-project-picker branch June 11, 2026 05:01
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