Skip to content

feat: migrate prompts to Clack#305

Merged
rafa-thayto merged 42 commits into
mainfrom
wyattjoh/clack-prompts-migration
Jun 8, 2026
Merged

feat: migrate prompts to Clack#305
rafa-thayto merged 42 commits into
mainfrom
wyattjoh/clack-prompts-migration

Conversation

@wyattjoh

Copy link
Copy Markdown
Contributor

What

  • Migrates CLI prompt wrappers, list selection, spinners, and human-facing command output to @clack/prompts.
  • Routes command input through shared prompt helpers and adds Clack UI output capture for tests.
  • Removes direct @inquirer/* dependencies and updates prompt-related tests and fixtures.

Why

This moves the CLI to the new prompt UI model while keeping agent and machine-readable output paths stable.

Testing

  • bun run typecheck
  • bun run format:check
  • bun run test

wyattjoh added 30 commits May 12, 2026 12:29
wyattjoh added 4 commits May 29, 2026 11:54
…s-migration

# Conflicts:
#	packages/cli-core/src/cli-program.ts
#	packages/cli-core/src/commands/deploy/index.ts
#	packages/cli-core/src/lib/spinner.test.ts
#	packages/cli-core/src/lib/spinner.ts
Comment thread packages/cli-core/src/commands/billing/index.ts Outdated
Comment thread packages/cli-core/src/commands/apps/list.ts Outdated
- add shared gutter wrapper for guaranteed intro/outro cleanup
- route unguarded prompt rail commands through the wrapper
- merge duplicate apps list error imports
@wyattjoh wyattjoh requested a review from rafa-thayto June 1, 2026 16:19
@rafa-thayto

Copy link
Copy Markdown
Contributor

!snapshot

@github-actions

github-actions Bot commented Jun 2, 2026

Copy link
Copy Markdown
Contributor

Snapshot published

npm install -g clerk@2.0.1-snapshot.10cbda5
Package Version
clerk 2.0.1-snapshot.10cbda5

Published from 10cbda5

@rafa-thayto rafa-thayto enabled auto-merge (squash) June 8, 2026 17:25
@rafa-thayto rafa-thayto merged commit 4bd85a8 into main Jun 8, 2026
10 checks passed
@rafa-thayto rafa-thayto deleted the wyattjoh/clack-prompts-migration branch June 8, 2026 17:26
rafa-thayto added a commit that referenced this pull request Jun 8, 2026
The #305 Clack migration removed @inquirer/prompts, but the mcp install client picker still imported checkbox from it — undeclared after the rebase and broken on a clean install. Add a multiselect wrapper to lib/prompts.ts (matching the existing confirm/text/password Clack wrappers, with the same cancel→throwUserAbort handling) and route pickClients through it. No behavior change to the picker.
rafa-thayto added a commit that referenced this pull request Jun 8, 2026
…ninstall

Follow the patterns the #305 Clack migration established: wrap install/list/uninstall human flows in withGutter() (guaranteed intro/outro cleanup, paused/failed outros on abort/error), render next steps via outro([...]) instead of a custom printNextSteps helper, and render the list table through the ui.* prompt rail (ui.message) like apps/list. No behavior change to JSON/agent output.
rafa-thayto added a commit that referenced this pull request Jun 12, 2026
The #305 Clack migration removed @inquirer/prompts, but the mcp install client picker still imported checkbox from it — undeclared after the rebase and broken on a clean install. Add a multiselect wrapper to lib/prompts.ts (matching the existing confirm/text/password Clack wrappers, with the same cancel→throwUserAbort handling) and route pickClients through it. No behavior change to the picker.
rafa-thayto added a commit that referenced this pull request Jun 12, 2026
…ninstall

Follow the patterns the #305 Clack migration established: wrap install/list/uninstall human flows in withGutter() (guaranteed intro/outro cleanup, paused/failed outros on abort/error), render next steps via outro([...]) instead of a custom printNextSteps helper, and render the list table through the ui.* prompt rail (ui.message) like apps/list. No behavior change to JSON/agent output.
rafa-thayto added a commit that referenced this pull request Jun 12, 2026
The #305 Clack migration removed @inquirer/prompts, but the mcp install client picker still imported checkbox from it — undeclared after the rebase and broken on a clean install. Add a multiselect wrapper to lib/prompts.ts (matching the existing confirm/text/password Clack wrappers, with the same cancel→throwUserAbort handling) and route pickClients through it. No behavior change to the picker.
rafa-thayto added a commit that referenced this pull request Jun 12, 2026
…ninstall

Follow the patterns the #305 Clack migration established: wrap install/list/uninstall human flows in withGutter() (guaranteed intro/outro cleanup, paused/failed outros on abort/error), render next steps via outro([...]) instead of a custom printNextSteps helper, and render the list table through the ui.* prompt rail (ui.message) like apps/list. No behavior change to JSON/agent output.
rafa-thayto added a commit that referenced this pull request Jun 15, 2026
The #305 Clack migration removed @inquirer/prompts, but the mcp install client picker still imported checkbox from it — undeclared after the rebase and broken on a clean install. Add a multiselect wrapper to lib/prompts.ts (matching the existing confirm/text/password Clack wrappers, with the same cancel→throwUserAbort handling) and route pickClients through it. No behavior change to the picker.
rafa-thayto added a commit that referenced this pull request Jun 15, 2026
…ninstall

Follow the patterns the #305 Clack migration established: wrap install/list/uninstall human flows in withGutter() (guaranteed intro/outro cleanup, paused/failed outros on abort/error), render next steps via outro([...]) instead of a custom printNextSteps helper, and render the list table through the ui.* prompt rail (ui.message) like apps/list. No behavior change to JSON/agent output.
rafa-thayto added a commit that referenced this pull request Jun 18, 2026
The #305 Clack migration removed @inquirer/prompts, but the mcp install client picker still imported checkbox from it — undeclared after the rebase and broken on a clean install. Add a multiselect wrapper to lib/prompts.ts (matching the existing confirm/text/password Clack wrappers, with the same cancel→throwUserAbort handling) and route pickClients through it. No behavior change to the picker.
rafa-thayto added a commit that referenced this pull request Jun 18, 2026
…ninstall

Follow the patterns the #305 Clack migration established: wrap install/list/uninstall human flows in withGutter() (guaranteed intro/outro cleanup, paused/failed outros on abort/error), render next steps via outro([...]) instead of a custom printNextSteps helper, and render the list table through the ui.* prompt rail (ui.message) like apps/list. No behavior change to JSON/agent output.
rafa-thayto added a commit that referenced this pull request Jun 24, 2026
The #305 Clack migration removed @inquirer/prompts, but the mcp install client picker still imported checkbox from it — undeclared after the rebase and broken on a clean install. Add a multiselect wrapper to lib/prompts.ts (matching the existing confirm/text/password Clack wrappers, with the same cancel→throwUserAbort handling) and route pickClients through it. No behavior change to the picker.
rafa-thayto added a commit that referenced this pull request Jun 24, 2026
…ninstall

Follow the patterns the #305 Clack migration established: wrap install/list/uninstall human flows in withGutter() (guaranteed intro/outro cleanup, paused/failed outros on abort/error), render next steps via outro([...]) instead of a custom printNextSteps helper, and render the list table through the ui.* prompt rail (ui.message) like apps/list. No behavior change to JSON/agent output.
rafa-thayto added a commit that referenced this pull request Jun 26, 2026
The #305 Clack migration removed @inquirer/prompts, but the mcp install client picker still imported checkbox from it — undeclared after the rebase and broken on a clean install. Add a multiselect wrapper to lib/prompts.ts (matching the existing confirm/text/password Clack wrappers, with the same cancel→throwUserAbort handling) and route pickClients through it. No behavior change to the picker.
rafa-thayto added a commit that referenced this pull request Jun 26, 2026
…ninstall

Follow the patterns the #305 Clack migration established: wrap install/list/uninstall human flows in withGutter() (guaranteed intro/outro cleanup, paused/failed outros on abort/error), render next steps via outro([...]) instead of a custom printNextSteps helper, and render the list table through the ui.* prompt rail (ui.message) like apps/list. No behavior change to JSON/agent output.
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