Skip to content

feat(select): make the prompt line configurable - #510

Merged
wan9chi merged 3 commits into
mainfrom
feat/select-prompt
Jul 9, 2026
Merged

feat(select): make the prompt line configurable#510
wan9chi merged 3 commits into
mainfrom
feat/select-prompt

Conversation

@fengmk2

@fengmk2 fengmk2 commented Jul 5, 2026

Copy link
Copy Markdown
Member

vite_select hardcodes the "Select a task" prompt line, which blocks reusing the selector outside the task picker. vite-plus needs "Select a package to " for its workspace-root app-command picker (voidzero-dev/vite-plus#2031).

This adds a required prompt field to SelectParams/RenderParams and threads it through interactive::run. vite_task passes the existing task prompt string, so rendering is unchanged: all 20 vite_select unit tests and all 24 task-select pty snapshot tests pass without snapshot updates.

Based on the rev vite-plus currently pins (6cfa6e4) so vite-plus can point at this commit immediately; rebase before merge if needed.

vite_select hardcoded the "Select a task" prompt, which blocks reusing the
selector for other pickers (vite-plus needs "Select a package to dev" for
its workspace-root app-command picker). Add a required prompt field to
SelectParams/RenderParams; vite_task passes the existing task prompt, so
rendering and all pty snapshots are unchanged.
@fengmk2 fengmk2 self-assigned this Jul 5, 2026
fengmk2 added a commit to voidzero-dev/vite-plus that referenced this pull request Jul 5, 2026
…rkspace root

Replaces the interim TTY listing with the fuzzy vite_select picker (the vp
run selector component): typing filters packages, Enter runs the selection
as an implicit -C, Ctrl+C cancels with exit 130. Single-runnable auto-select
and the non-interactive listing are unchanged. Every picker render emits a
package-select:<query>:<index> milestone so PTY snapshot tests synchronize
on real keystrokes (picker_select / picker_cancel / non-TTY listing cases,
both flavors).

Requires the configurable prompt from voidzero-dev/vite-task#510; the
vite-task pin points at that PR's commit and needs a re-bump to vite-task
main after it merges.
fengmk2 added a commit to voidzero-dev/vite-plus that referenced this pull request Jul 5, 2026
…rkspace root

Replaces the interim TTY listing with the fuzzy vite_select picker (the vp
run selector component): typing filters packages, Enter runs the selection
as an implicit -C, Ctrl+C cancels with exit 130. Single-runnable auto-select
and the non-interactive listing are unchanged. Every picker render emits a
package-select:<query>:<index> milestone so PTY snapshot tests synchronize
on real keystrokes (picker_select / picker_cancel / non-TTY listing cases,
both flavors).

Requires the configurable prompt from voidzero-dev/vite-task#510; the
vite-task pin points at that PR's commit and needs a re-bump to vite-task
main after it merges.
fengmk2 added a commit to voidzero-dev/vite-plus that referenced this pull request Jul 5, 2026
…rkspace root

Replaces the interim TTY listing with the fuzzy vite_select picker (the vp
run selector component): typing filters packages, Enter runs the selection
as an implicit -C, Ctrl+C cancels with exit 130. Single-runnable auto-select
and the non-interactive listing are unchanged. Every picker render emits a
package-select:<query>:<index> milestone so PTY snapshot tests synchronize
on real keystrokes (picker_select / picker_cancel / non-TTY listing cases,
both flavors).

Requires the configurable prompt from voidzero-dev/vite-task#510; the
vite-task pin points at that PR's commit and needs a re-bump to vite-task
main after it merges.
fengmk2 added a commit to voidzero-dev/vite-plus that referenced this pull request Jul 5, 2026
…rkspace root

Replaces the interim TTY listing with the fuzzy vite_select picker (the vp
run selector component): typing filters packages, Enter runs the selection
as an implicit -C, Ctrl+C cancels with exit 130. Single-runnable auto-select
and the non-interactive listing are unchanged. Every picker render emits a
package-select:<query>:<index> milestone so PTY snapshot tests synchronize
on real keystrokes (picker_select / picker_cancel / non-TTY listing cases,
both flavors).

Requires the configurable prompt from voidzero-dev/vite-task#510; the
vite-task pin points at that PR's commit and needs a re-bump to vite-task
main after it merges.
fengmk2 added a commit to voidzero-dev/vite-plus that referenced this pull request Jul 5, 2026
…rkspace root

Replaces the interim TTY listing with the fuzzy vite_select picker (the vp
run selector component): typing filters packages, Enter runs the selection
as an implicit -C, Ctrl+C cancels with exit 130. Single-runnable auto-select
and the non-interactive listing are unchanged. Every picker render emits a
package-select:<query>:<index> milestone so PTY snapshot tests synchronize
on real keystrokes (picker_select / picker_cancel / non-TTY listing cases,
both flavors).

Requires the configurable prompt from voidzero-dev/vite-task#510; the
vite-task pin points at that PR's commit and needs a re-bump to vite-task
main after it merges.
fengmk2 added a commit to voidzero-dev/vite-plus that referenced this pull request Jul 5, 2026
…rkspace root

Replaces the interim TTY listing with the fuzzy vite_select picker (the vp
run selector component): typing filters packages, Enter runs the selection
as an implicit -C, Ctrl+C cancels with exit 130. Single-runnable auto-select
and the non-interactive listing are unchanged. Every picker render emits a
package-select:<query>:<index> milestone so PTY snapshot tests synchronize
on real keystrokes (picker_select / picker_cancel / non-TTY listing cases,
both flavors).

Requires the configurable prompt from voidzero-dev/vite-task#510; the
vite-task pin points at that PR's commit and needs a re-bump to vite-task
main after it merges.
fengmk2 added a commit to voidzero-dev/vite-plus that referenced this pull request Jul 5, 2026
…rkspace root

Replaces the interim TTY listing with the fuzzy vite_select picker (the vp
run selector component): typing filters packages, Enter runs the selection
as an implicit -C, Ctrl+C cancels with exit 130. Single-runnable auto-select
and the non-interactive listing are unchanged. Every picker render emits a
package-select:<query>:<index> milestone so PTY snapshot tests synchronize
on real keystrokes (picker_select / picker_cancel / non-TTY listing cases,
both flavors).

Requires the configurable prompt from voidzero-dev/vite-task#510; the
vite-task pin points at that PR's commit and needs a re-bump to vite-task
main after it merges.
fengmk2 added a commit to voidzero-dev/vite-plus that referenced this pull request Jul 5, 2026
…rkspace root

Replaces the interim TTY listing with the fuzzy vite_select picker (the vp
run selector component): typing filters packages, Enter runs the selection
as an implicit -C, Ctrl+C cancels with exit 130. Single-runnable auto-select
and the non-interactive listing are unchanged. Every picker render emits a
package-select:<query>:<index> milestone so PTY snapshot tests synchronize
on real keystrokes (picker_select / picker_cancel / non-TTY listing cases,
both flavors).

Requires the configurable prompt from voidzero-dev/vite-task#510; the
vite-task pin points at that PR's commit and needs a re-bump to vite-task
main after it merges.
fengmk2 added a commit to voidzero-dev/vite-plus that referenced this pull request Jul 5, 2026
…rkspace root

Replaces the interim TTY listing with the fuzzy vite_select picker (the vp
run selector component): typing filters packages, Enter runs the selection
as an implicit -C, Ctrl+C cancels with exit 130. Single-runnable auto-select
and the non-interactive listing are unchanged. Every picker render emits a
package-select:<query>:<index> milestone so PTY snapshot tests synchronize
on real keystrokes (picker_select / picker_cancel / non-TTY listing cases,
both flavors).

Requires the configurable prompt from voidzero-dev/vite-task#510; the
vite-task pin points at that PR's commit and needs a re-bump to vite-task
main after it merges.
@fengmk2
fengmk2 requested a review from wan9chi July 5, 2026 14:07
@fengmk2
fengmk2 marked this pull request as ready for review July 5, 2026 14:07
fengmk2 added a commit to voidzero-dev/vite-plus that referenced this pull request Jul 5, 2026
…rkspace root

Replaces the interim TTY listing with the fuzzy vite_select picker (the vp
run selector component): typing filters packages, Enter runs the selection
as an implicit -C, Ctrl+C cancels with exit 130. Single-runnable auto-select
and the non-interactive listing are unchanged. Every picker render emits a
package-select:<query>:<index> milestone so PTY snapshot tests synchronize
on real keystrokes (picker_select / picker_cancel / non-TTY listing cases,
both flavors).

Requires the configurable prompt from voidzero-dev/vite-task#510; the
vite-task pin points at that PR's commit and needs a re-bump to vite-task
main after it merges.
fengmk2 added a commit to voidzero-dev/vite-plus that referenced this pull request Jul 5, 2026
…rkspace root

Replaces the interim TTY listing with the fuzzy vite_select picker (the vp
run selector component): typing filters packages, Enter runs the selection
as an implicit -C, Ctrl+C cancels with exit 130. Single-runnable auto-select
and the non-interactive listing are unchanged. Every picker render emits a
package-select:<query>:<index> milestone so PTY snapshot tests synchronize
on real keystrokes (picker_select / picker_cancel / non-TTY listing cases,
both flavors).

Requires the configurable prompt from voidzero-dev/vite-task#510; the
vite-task pin points at that PR's commit and needs a re-bump to vite-task
main after it merges.
fengmk2 added a commit to voidzero-dev/vite-plus that referenced this pull request Jul 5, 2026
…rkspace root

Replaces the interim TTY listing with the fuzzy vite_select picker (the vp
run selector component): typing filters packages, Enter runs the selection
as an implicit -C, Ctrl+C cancels with exit 130. Single-runnable auto-select
and the non-interactive listing are unchanged. Every picker render emits a
package-select:<query>:<index> milestone so PTY snapshot tests synchronize
on real keystrokes (picker_select / picker_cancel / non-TTY listing cases,
both flavors).

Requires the configurable prompt from voidzero-dev/vite-task#510; the
vite-task pin points at that PR's commit and needs a re-bump to vite-task
main after it merges.
fengmk2 added a commit to voidzero-dev/vite-plus that referenced this pull request Jul 5, 2026
…rkspace root

Replaces the interim TTY listing with the fuzzy vite_select picker (the vp
run selector component): typing filters packages, Enter runs the selection
as an implicit -C, Ctrl+C cancels with exit 130. Single-runnable auto-select
and the non-interactive listing are unchanged. Every picker render emits a
package-select:<query>:<index> milestone so PTY snapshot tests synchronize
on real keystrokes (picker_select / picker_cancel / non-TTY listing cases,
both flavors).

Requires the configurable prompt from voidzero-dev/vite-task#510; the
vite-task pin points at that PR's commit and needs a re-bump to vite-task
main after it merges.
fengmk2 added a commit to voidzero-dev/vite-plus that referenced this pull request Jul 5, 2026
…rkspace root

Replaces the interim TTY listing with the fuzzy vite_select picker (the vp
run selector component): typing filters packages, Enter runs the selection
as an implicit -C, Ctrl+C cancels with exit 130. Single-runnable auto-select
and the non-interactive listing are unchanged. Every picker render emits a
package-select:<query>:<index> milestone so PTY snapshot tests synchronize
on real keystrokes (picker_select / picker_cancel / non-TTY listing cases,
both flavors).

Requires the configurable prompt from voidzero-dev/vite-task#510; the
vite-task pin points at that PR's commit and needs a re-bump to vite-task
main after it merges.
fengmk2 added a commit to voidzero-dev/vite-plus that referenced this pull request Jul 5, 2026
…rkspace root

Replaces the interim TTY listing with the fuzzy vite_select picker (the vp
run selector component): typing filters packages, Enter runs the selection
as an implicit -C, Ctrl+C cancels with exit 130. Single-runnable auto-select
and the non-interactive listing are unchanged. Every picker render emits a
package-select:<query>:<index> milestone so PTY snapshot tests synchronize
on real keystrokes (picker_select / picker_cancel / non-TTY listing cases,
both flavors).

Requires the configurable prompt from voidzero-dev/vite-task#510; the
vite-task pin points at that PR's commit and needs a re-bump to vite-task
main after it merges.
fengmk2 added a commit to voidzero-dev/vite-plus that referenced this pull request Jul 6, 2026
…rkspace root

Replaces the interim TTY listing with the fuzzy vite_select picker (the vp
run selector component): typing filters packages, Enter runs the selection
as an implicit -C, Ctrl+C cancels with exit 130. Single-runnable auto-select
and the non-interactive listing are unchanged. Every picker render emits a
package-select:<query>:<index> milestone so PTY snapshot tests synchronize
on real keystrokes (picker_select / picker_cancel / non-TTY listing cases,
both flavors).

Requires the configurable prompt from voidzero-dev/vite-task#510; the
vite-task pin points at that PR's commit and needs a re-bump to vite-task
main after it merges.
fengmk2 added a commit to voidzero-dev/vite-plus that referenced this pull request Jul 6, 2026
…rkspace root

Replaces the interim TTY listing with the fuzzy vite_select picker (the vp
run selector component): typing filters packages, Enter runs the selection
as an implicit -C, Ctrl+C cancels with exit 130. Single-runnable auto-select
and the non-interactive listing are unchanged. Every picker render emits a
package-select:<query>:<index> milestone so PTY snapshot tests synchronize
on real keystrokes (picker_select / picker_cancel / non-TTY listing cases,
both flavors).

Requires the configurable prompt from voidzero-dev/vite-task#510; the
vite-task pin points at that PR's commit and needs a re-bump to vite-task
main after it merges.
fengmk2 added a commit to voidzero-dev/vite-plus that referenced this pull request Jul 6, 2026
…rkspace root

Replaces the interim TTY listing with the fuzzy vite_select picker (the vp
run selector component): typing filters packages, Enter runs the selection
as an implicit -C, Ctrl+C cancels with exit 130. Single-runnable auto-select
and the non-interactive listing are unchanged. Every picker render emits a
package-select:<query>:<index> milestone so PTY snapshot tests synchronize
on real keystrokes (picker_select / picker_cancel / non-TTY listing cases,
both flavors).

Requires the configurable prompt from voidzero-dev/vite-task#510; the
vite-task pin points at that PR's commit and needs a re-bump to vite-task
main after it merges.
fengmk2 added a commit to voidzero-dev/vite-plus that referenced this pull request Jul 6, 2026
…rkspace root

Replaces the interim TTY listing with the fuzzy vite_select picker (the vp
run selector component): typing filters packages, Enter runs the selection
as an implicit -C, Ctrl+C cancels with exit 130. Single-runnable auto-select
and the non-interactive listing are unchanged. Every picker render emits a
package-select:<query>:<index> milestone so PTY snapshot tests synchronize
on real keystrokes (picker_select / picker_cancel / non-TTY listing cases,
both flavors).

Requires the configurable prompt from voidzero-dev/vite-task#510; the
vite-task pin points at that PR's commit and needs a re-bump to vite-task
main after it merges.
fengmk2 added a commit to voidzero-dev/vite-plus that referenced this pull request Jul 6, 2026
…rkspace root

Replaces the interim TTY listing with the fuzzy vite_select picker (the vp
run selector component): typing filters packages, Enter runs the selection
as an implicit -C, Ctrl+C cancels with exit 130. Single-runnable auto-select
and the non-interactive listing are unchanged. Every picker render emits a
package-select:<query>:<index> milestone so PTY snapshot tests synchronize
on real keystrokes (picker_select / picker_cancel / non-TTY listing cases,
both flavors).

Requires the configurable prompt from voidzero-dev/vite-task#510; the
vite-task pin points at that PR's commit and needs a re-bump to vite-task
main after it merges.
graphite-app Bot pushed a commit to voidzero-dev/vite-plus that referenced this pull request Jul 6, 2026
…rkspace root

Replaces the interim TTY listing with the fuzzy vite_select picker (the vp
run selector component): typing filters packages, Enter runs the selection
as an implicit -C, Ctrl+C cancels with exit 130. Single-runnable auto-select
and the non-interactive listing are unchanged. Every picker render emits a
package-select:<query>:<index> milestone so PTY snapshot tests synchronize
on real keystrokes (picker_select / picker_cancel / non-TTY listing cases,
both flavors).

Requires the configurable prompt from voidzero-dev/vite-task#510; the
vite-task pin points at that PR's commit and needs a re-bump to vite-task
main after it merges.
fengmk2 added a commit to voidzero-dev/vite-plus that referenced this pull request Jul 6, 2026
…rkspace root

Replaces the interim TTY listing with the fuzzy vite_select picker (the vp
run selector component): typing filters packages, Enter runs the selection
as an implicit -C, Ctrl+C cancels with exit 130. Single-runnable auto-select
and the non-interactive listing are unchanged. Every picker render emits a
package-select:<query>:<index> milestone so PTY snapshot tests synchronize
on real keystrokes (picker_select / picker_cancel / non-TTY listing cases,
both flavors).

Requires the configurable prompt from voidzero-dev/vite-task#510; the
vite-task pin points at that PR's commit and needs a re-bump to vite-task
main after it merges.
fengmk2 added a commit to voidzero-dev/vite-plus that referenced this pull request Jul 7, 2026
…rkspace root

Replaces the interim TTY listing with the fuzzy vite_select picker (the vp
run selector component): typing filters packages, Enter runs the selection
as an implicit -C, Ctrl+C cancels with exit 130. Single-runnable auto-select
and the non-interactive listing are unchanged. Every picker render emits a
package-select:<query>:<index> milestone so PTY snapshot tests synchronize
on real keystrokes (picker_select / picker_cancel / non-TTY listing cases,
both flavors).

Requires the configurable prompt from voidzero-dev/vite-task#510; the
vite-task pin points at that PR's commit and needs a re-bump to vite-task
main after it merges.
fengmk2 added a commit to voidzero-dev/vite-plus that referenced this pull request Jul 8, 2026
…rkspace root

Replaces the interim TTY listing with the fuzzy vite_select picker (the vp
run selector component): typing filters packages, Enter runs the selection
as an implicit -C, Ctrl+C cancels with exit 130. Single-runnable auto-select
and the non-interactive listing are unchanged. Every picker render emits a
package-select:<query>:<index> milestone so PTY snapshot tests synchronize
on real keystrokes (picker_select / picker_cancel / non-TTY listing cases,
both flavors).

Requires the configurable prompt from voidzero-dev/vite-task#510; the
vite-task pin points at that PR's commit and needs a re-bump to vite-task
main after it merges.
fengmk2 added a commit to voidzero-dev/vite-plus that referenced this pull request Jul 8, 2026
…rkspace root

Replaces the interim TTY listing with the fuzzy vite_select picker (the vp
run selector component): typing filters packages, Enter runs the selection
as an implicit -C, Ctrl+C cancels with exit 130. Single-runnable auto-select
and the non-interactive listing are unchanged. Every picker render emits a
package-select:<query>:<index> milestone so PTY snapshot tests synchronize
on real keystrokes (picker_select / picker_cancel / non-TTY listing cases,
both flavors).

Requires the configurable prompt from voidzero-dev/vite-task#510; the
vite-task pin points at that PR's commit and needs a re-bump to vite-task
main after it merges.
fengmk2 added a commit to voidzero-dev/vite-plus that referenced this pull request Jul 8, 2026
…rkspace root

Replaces the interim TTY listing with the fuzzy vite_select picker (the vp
run selector component): typing filters packages, Enter runs the selection
as an implicit -C, Ctrl+C cancels with exit 130. Single-runnable auto-select
and the non-interactive listing are unchanged. Every picker render emits a
package-select:<query>:<index> milestone so PTY snapshot tests synchronize
on real keystrokes (picker_select / picker_cancel / non-TTY listing cases,
both flavors).

Requires the configurable prompt from voidzero-dev/vite-task#510; the
vite-task pin points at that PR's commit and needs a re-bump to vite-task
main after it merges.
fengmk2 added a commit to voidzero-dev/vite-plus that referenced this pull request Jul 9, 2026
…rkspace root

Replaces the interim TTY listing with the fuzzy vite_select picker (the vp
run selector component): typing filters packages, Enter runs the selection
as an implicit -C, Ctrl+C cancels with exit 130. Single-runnable auto-select
and the non-interactive listing are unchanged. Every picker render emits a
package-select:<query>:<index> milestone so PTY snapshot tests synchronize
on real keystrokes (picker_select / picker_cancel / non-TTY listing cases,
both flavors).

Requires the configurable prompt from voidzero-dev/vite-task#510; the
vite-task pin points at that PR's commit and needs a re-bump to vite-task
main after it merges.
fengmk2 added a commit to voidzero-dev/vite-plus that referenced this pull request Jul 9, 2026
…rkspace root

Replaces the interim TTY listing with the fuzzy vite_select picker (the vp
run selector component): typing filters packages, Enter runs the selection
as an implicit -C, Ctrl+C cancels with exit 130. Single-runnable auto-select
and the non-interactive listing are unchanged. Every picker render emits a
package-select:<query>:<index> milestone so PTY snapshot tests synchronize
on real keystrokes (picker_select / picker_cancel / non-TTY listing cases,
both flavors).

Requires the configurable prompt from voidzero-dev/vite-task#510; the
vite-task pin points at that PR's commit and needs a re-bump to vite-task
main after it merges.
@wan9chi
wan9chi merged commit fac52cb into main Jul 9, 2026
19 checks passed
@wan9chi
wan9chi deleted the feat/select-prompt branch July 9, 2026 02:48
fengmk2 added a commit to voidzero-dev/vite-plus that referenced this pull request Jul 9, 2026
…rkspace root

Replaces the interim TTY listing with the fuzzy vite_select picker (the vp
run selector component): typing filters packages, Enter runs the selection
as an implicit -C, Ctrl+C cancels with exit 130. Single-runnable auto-select
and the non-interactive listing are unchanged. Every picker render emits a
package-select:<query>:<index> milestone so PTY snapshot tests synchronize
on real keystrokes (picker_select / picker_cancel / non-TTY listing cases,
both flavors).

Requires the configurable prompt from voidzero-dev/vite-task#510; the
vite-task pin points at that PR's commit and needs a re-bump to vite-task
main after it merges.
fengmk2 added a commit to voidzero-dev/vite-plus that referenced this pull request Jul 9, 2026
…rkspace root

Replaces the interim TTY listing with the fuzzy vite_select picker (the vp
run selector component): typing filters packages, Enter runs the selection
as an implicit -C, Ctrl+C cancels with exit 130. Single-runnable auto-select
and the non-interactive listing are unchanged. Every picker render emits a
package-select:<query>:<index> milestone so PTY snapshot tests synchronize
on real keystrokes (picker_select / picker_cancel / non-TTY listing cases,
both flavors).

Requires the configurable prompt from voidzero-dev/vite-task#510; the
vite-task pin points at that PR's commit and needs a re-bump to vite-task
main after it merges.
fengmk2 added a commit to voidzero-dev/vite-plus that referenced this pull request Jul 9, 2026
…rkspace root

Replaces the interim TTY listing with the fuzzy vite_select picker (the vp
run selector component): typing filters packages, Enter runs the selection
as an implicit -C, Ctrl+C cancels with exit 130. Single-runnable auto-select
and the non-interactive listing are unchanged. Every picker render emits a
package-select:<query>:<index> milestone so PTY snapshot tests synchronize
on real keystrokes (picker_select / picker_cancel / non-TTY listing cases,
both flavors).

Requires the configurable prompt from voidzero-dev/vite-task#510; the
vite-task pin points at that PR's commit and needs a re-bump to vite-task
main after it merges.
fengmk2 added a commit to voidzero-dev/vite-plus that referenced this pull request Jul 10, 2026
…rkspace root

Replaces the interim TTY listing with the fuzzy vite_select picker (the vp
run selector component): typing filters packages, Enter runs the selection
as an implicit -C, Ctrl+C cancels with exit 130. Single-runnable auto-select
and the non-interactive listing are unchanged. Every picker render emits a
package-select:<query>:<index> milestone so PTY snapshot tests synchronize
on real keystrokes (picker_select / picker_cancel / non-TTY listing cases,
both flavors).

Requires the configurable prompt from voidzero-dev/vite-task#510; the
vite-task pin points at that PR's commit and needs a re-bump to vite-task
main after it merges.
fengmk2 added a commit to voidzero-dev/vite-plus that referenced this pull request Jul 10, 2026
…rkspace root

Replaces the interim TTY listing with the fuzzy vite_select picker (the vp
run selector component): typing filters packages, Enter runs the selection
as an implicit -C, Ctrl+C cancels with exit 130. Single-runnable auto-select
and the non-interactive listing are unchanged. Every picker render emits a
package-select:<query>:<index> milestone so PTY snapshot tests synchronize
on real keystrokes (picker_select / picker_cancel / non-TTY listing cases,
both flavors).

Requires the configurable prompt from voidzero-dev/vite-task#510; the
vite-task pin points at that PR's commit and needs a re-bump to vite-task
main after it merges.
fengmk2 added a commit to voidzero-dev/vite-plus that referenced this pull request Jul 10, 2026
…rkspace root

Replaces the interim TTY listing with the fuzzy vite_select picker (the vp
run selector component): typing filters packages, Enter runs the selection
as an implicit -C, Ctrl+C cancels with exit 130. Single-runnable auto-select
and the non-interactive listing are unchanged. Every picker render emits a
package-select:<query>:<index> milestone so PTY snapshot tests synchronize
on real keystrokes (picker_select / picker_cancel / non-TTY listing cases,
both flavors).

Requires the configurable prompt from voidzero-dev/vite-task#510; the
vite-task pin points at that PR's commit and needs a re-bump to vite-task
main after it merges.
fengmk2 added a commit to voidzero-dev/vite-plus that referenced this pull request Jul 10, 2026
…rkspace root

Replaces the interim TTY listing with the fuzzy vite_select picker (the vp
run selector component): typing filters packages, Enter runs the selection
as an implicit -C, Ctrl+C cancels with exit 130. Single-runnable auto-select
and the non-interactive listing are unchanged. Every picker render emits a
package-select:<query>:<index> milestone so PTY snapshot tests synchronize
on real keystrokes (picker_select / picker_cancel / non-TTY listing cases,
both flavors).

Requires the configurable prompt from voidzero-dev/vite-task#510; the
vite-task pin points at that PR's commit and needs a re-bump to vite-task
main after it merges.
fengmk2 added a commit to voidzero-dev/vite-plus that referenced this pull request Jul 10, 2026
…rkspace root

Replaces the interim TTY listing with the fuzzy vite_select picker (the vp
run selector component): typing filters packages, Enter runs the selection
as an implicit -C, Ctrl+C cancels with exit 130. Single-runnable auto-select
and the non-interactive listing are unchanged. Every picker render emits a
package-select:<query>:<index> milestone so PTY snapshot tests synchronize
on real keystrokes (picker_select / picker_cancel / non-TTY listing cases,
both flavors).

Requires the configurable prompt from voidzero-dev/vite-task#510; the
vite-task pin points at that PR's commit and needs a re-bump to vite-task
main after it merges.
fengmk2 added a commit to voidzero-dev/vite-plus that referenced this pull request Jul 10, 2026
…rkspace root

Replaces the interim TTY listing with the fuzzy vite_select picker (the vp
run selector component): typing filters packages, Enter runs the selection
as an implicit -C, Ctrl+C cancels with exit 130. Single-runnable auto-select
and the non-interactive listing are unchanged. Every picker render emits a
package-select:<query>:<index> milestone so PTY snapshot tests synchronize
on real keystrokes (picker_select / picker_cancel / non-TTY listing cases,
both flavors).

Requires the configurable prompt from voidzero-dev/vite-task#510; the
vite-task pin points at that PR's commit and needs a re-bump to vite-task
main after it merges.
fengmk2 added a commit to voidzero-dev/vite-plus that referenced this pull request Jul 11, 2026
…rkspace root

Replaces the interim TTY listing with the fuzzy vite_select picker (the vp
run selector component): typing filters packages, Enter runs the selection
as an implicit -C, Ctrl+C cancels with exit 130. Single-runnable auto-select
and the non-interactive listing are unchanged. Every picker render emits a
package-select:<query>:<index> milestone so PTY snapshot tests synchronize
on real keystrokes (picker_select / picker_cancel / non-TTY listing cases,
both flavors).

Requires the configurable prompt from voidzero-dev/vite-task#510; the
vite-task pin points at that PR's commit and needs a re-bump to vite-task
main after it merges.
fengmk2 added a commit to voidzero-dev/vite-plus that referenced this pull request Jul 11, 2026
…rkspace root

Replaces the interim TTY listing with the fuzzy vite_select picker (the vp
run selector component): typing filters packages, Enter runs the selection
as an implicit -C, Ctrl+C cancels with exit 130. Single-runnable auto-select
and the non-interactive listing are unchanged. Every picker render emits a
package-select:<query>:<index> milestone so PTY snapshot tests synchronize
on real keystrokes (picker_select / picker_cancel / non-TTY listing cases,
both flavors).

Requires the configurable prompt from voidzero-dev/vite-task#510; the
vite-task pin points at that PR's commit and needs a re-bump to vite-task
main after it merges.
fengmk2 added a commit to voidzero-dev/vite-plus that referenced this pull request Jul 30, 2026
…rkspace root

Replaces the interim TTY listing with the fuzzy vite_select picker (the vp
run selector component): typing filters packages, Enter runs the selection
as an implicit -C, Ctrl+C cancels with exit 130. Single-runnable auto-select
and the non-interactive listing are unchanged. Every picker render emits a
package-select:<query>:<index> milestone so PTY snapshot tests synchronize
on real keystrokes (picker_select / picker_cancel / non-TTY listing cases,
both flavors).

Requires the configurable prompt from voidzero-dev/vite-task#510; the
vite-task pin points at that PR's commit and needs a re-bump to vite-task
main after it merges.
fengmk2 added a commit to voidzero-dev/vite-plus that referenced this pull request Jul 31, 2026
…rkspace root

Replaces the interim TTY listing with the fuzzy vite_select picker (the vp
run selector component): typing filters packages, Enter runs the selection
as an implicit -C, Ctrl+C cancels with exit 130. Single-runnable auto-select
and the non-interactive listing are unchanged. Every picker render emits a
package-select:<query>:<index> milestone so PTY snapshot tests synchronize
on real keystrokes (picker_select / picker_cancel / non-TTY listing cases,
both flavors).

Requires the configurable prompt from voidzero-dev/vite-task#510; the
vite-task pin points at that PR's commit and needs a re-bump to vite-task
main after it merges.
fengmk2 added a commit to voidzero-dev/vite-plus that referenced this pull request Aug 3, 2026
…rkspace root

Replaces the interim TTY listing with the fuzzy vite_select picker (the vp
run selector component): typing filters packages, Enter runs the selection
as an implicit -C, Ctrl+C cancels with exit 130. Single-runnable auto-select
and the non-interactive listing are unchanged. Every picker render emits a
package-select:<query>:<index> milestone so PTY snapshot tests synchronize
on real keystrokes (picker_select / picker_cancel / non-TTY listing cases,
both flavors).

Requires the configurable prompt from voidzero-dev/vite-task#510; the
vite-task pin points at that PR's commit and needs a re-bump to vite-task
main after it merges.
fengmk2 added a commit to voidzero-dev/vite-plus that referenced this pull request Aug 4, 2026
Bare `vp dev`/`build`/`preview`/`pack` at a monorepo root used to
silently run against the root (a 404 dev server, a build of the wrong
thing). Now they resolve a target.

**In a terminal, a fuzzy package picker (the same component `vp run`
uses):**

```
$ vp build

Select a package to build (↑/↓, Enter to run, type to search):

  › admin  apps/admin
    web    apps/web
    ui     packages/ui
```

Typing filters the list. Enter runs the choice as an implicit `-C` and
prints how to skip the prompt next time:

```
Selected package: web (apps/web)
Tip: run this directly with `vp -C apps/web build`

vite building client environment for production...
✓ built
```

**Non-interactive (CI, pipes), it lists the candidates and exits 1
instead of building the root:**

```
$ vp build
error: `vp build` at the workspace root needs a target package.

  Packages in this workspace:
    admin  apps/admin
    web    apps/web
    ui     packages/ui

  Pass a directory:  vp -C apps/admin build
  Or run every package's build script:  vp run -r build
```

The picker is built on a new global `-C <dir>` flag: `vp -C <dir> <cmd>`
is exactly `cd <dir> && vp <cmd>` for every command. Resolution order
for a bare app command: `-C` or a positional, then `defaultPackage` in
the root config (statically extracted, so it works at framework roots
with no vite-plus install), then auto-select when exactly one package is
runnable, then the picker in a TTY or the listing + exit 1 without one.
A runnable root still runs in place, and positionals keep upstream
semantics (Vite `[root]`, tsdown entries).

Implements `rfcs/cwd-flag.md`. Tested on the PTY snapshot harness with
real keystrokes in both the local and global vp flavors.

~~Requires voidzero-dev/vite-task#510 (configurable selector prompt);
the vite-task pin points at that PR and needs a re-bump to vite-task
main after it merges.~~
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.

2 participants