Add configurable add-project shortcut#4258
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
ApprovabilityVerdict: Needs human review This PR introduces a new user-facing keyboard shortcut feature (alt+a for add-project) with changes to global keyboard handling, flow state management, and UI additions. New user-facing features warrant human review to ensure the behavior and UX align with team expectations. You can customize Macroscope's approvability policy. Learn more. |
e7cb807 to
42b605f
Compare
Dismissing prior approval to re-evaluate 51e185e
d0623a7 to
681668e
Compare
681668e to
48a7327
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 48a7327. Configure here.

Summary
project.addkeybinding with a default ofalt+aWhy
T3 Code already models user-facing shortcuts as named, configurable commands. Using that same system keeps shortcut conflict resolution, per-user overrides, and the Keybindings settings UI consistent instead of hard-coding a palette-only key. Plain
Alt+Ais unused by the app;Ctrl+Aremains available for standard Select All behavior.Validation
vp test packages/contracts/src/keybindings.test.ts apps/web/src/keybindings.test.ts apps/server/src/keybindings.test.tsvp checkvp run typecheckExact-head evidence
Revalidated at ac10e74 on current main (9a0a071): focused tests, vp check, and vp run typecheck passed. The capture uses only disposable local projects.
Note
Low Risk
UI and keybinding wiring only; no auth, data, or server API changes beyond default binding registration.
Overview
Adds a named
project.addkeybinding (defaultalt+a, disabled when the terminal is focused) wired through contracts, shared defaults, and server/web tests so it respects user overrides like other commands.The command palette global handler now opens the add-project flow on
project.add(skipping editable fields and key repeat), shows the binding on the Add project action, and surfaces that action in New thread in… viabuildNewThreadInGroups.Add-project navigation tracks stack depth with
shouldResetPaletteFlowOnPop/resetAddProjectFlowStateso nested palette views reset environment/clone state only when leaving the flow, and re-entry is guarded while a flow is already active.Reviewed by Cursor Bugbot for commit ac10e74. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Add
project.addkeybinding (Alt+A) to open the add-project flow from the command paletteproject.addas a valid keybinding command with a default binding ofAlt+A(when terminal is not focused) across contracts, shared, and server layers.CommandPalettekeydown handler to interceptproject.addand open the add-project flow, skipping editable targets via the newisEditableKeyboardTargethelper.addProjectActionentry (with shortcut annotationproject.add) to the main action list and the 'New thread in...' palette view, built via the newbuildNewThreadInGroupshelper.addProjectFlowBaseDepthRefso that popping the view stack past the flow's entry point resets its state viaresetAddProjectFlowState.Macroscope summarized ac10e74.