Repository navigation
feat(cli): add type-to-filter organization, team, and project pickers - #1495
Merged
Merged
Conversation
betegon
marked this pull request as ready for review
October 13, 2026 16:32
Contributor
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 88b5f4c. Configure here.
| candidates.push(option.hint); | ||
| } | ||
| return fuzzyMatch(query, candidates).length > 0; | ||
| }); |
Contributor
There was a problem hiding this comment.
Fuzzy filter misfires on typed queries
Medium Severity
filterSelectOptions now uses fuzzyMatch, which scores whole-string Levenshtein distance with a minimum threshold of 2. Short queries then keep unrelated short names, and a typo in a prefix of a longer org or project name drops the match until the query is nearly the full string.
Reviewed by Cursor Bugbot for commit 88b5f4c. Configure here.
BYK
pushed a commit
that referenced
this pull request
Oct 14, 2026
Follow-up to #1495: use `mode: "search"` for selectors and autocomplete. The same matcher serves two cases: * resolving names in submitted commands * suggesting candidates while typing. `"search"` mode separates their matching rules. Short queries match literal text only; longer queries tolerate typos in unfinished prefixes. ```ts fuzzyMatch("zz", ["UI"], { mode: "search" }); // [] fuzzyMatch("frone", ["frontend-web"], { mode: "search" }); // ["frontend-web"] fuzzyMatch("frone", ["frontend-web"]); // [] — submitted-command behavior stays unchanged ``` Selectors let users choose a candidate. Command recovery automatically uses a sole match, with a warning. Applying search rules globally would therefore change which project a command uses, or make an existing recovery ambiguous: ```ts const projects = ["sentry", "sentry-relay"]; fuzzyMatch("senry", projects); // ["sentry"] fuzzyMatch("senry", projects, { mode: "search" }); // ["sentry", "sentry-relay"] ``` The mode keeps these policies separate while reusing the same matcher. Regression tests cover both search behavior and unchanged command resolution.
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.


Organization, team, project, and monorepo app pickers now filter their loaded choices as users type, matching names, slugs, and hints with tolerance for small typos, without a separate search input. The
/queryrow stays below the original list viewport as results shrink, including when nothing matches.Arrow keys navigate the filtered list, Backspace edits the query, and Esc clears it before cancelling. Init and standalone target selection share the Ink control and reuse the CLI's existing fuzzy matcher, with regression coverage for rapid keyboard input, pasted text, terminal cleanup, and narrow-terminal layouts.
Validated with repository typecheck and lint, CLI policy checks and bundle, and all workspace test suites on Linux. The CLI suite passes all 10,659 tests, with 16 skipped.