Skip to content

refactor(cli): convert plugin command to effectCmd#25473

Merged
kitlangton merged 1 commit intodevfrom
kit/cli-effectify-plug
May 2, 2026
Merged

refactor(cli): convert plugin command to effectCmd#25473
kitlangton merged 1 commit intodevfrom
kit/cli-effectify-plug

Conversation

@kitlangton
Copy link
Copy Markdown
Contributor

Summary

  • Convert `cli/cmd/plug.ts` from `cmd()` + `Instance.provide` to `effectCmd`.
  • `createPlugTask` is still a Promise function — wrapped with `Effect.promise`.
  • Add `aliases` option to `effectCmd` so the existing `"plug"` alias for `"plugin"` is preserved.

Behavioral notes

  • Subagent purity audit: PURE.
  • One cosmetic ordering: legacy printed `intro("Install plugin …")` BEFORE Instance.provide loaded. New prints AFTER InstanceStore.provide loads. Instance load is silent (no clack output), so user-visible output is identical.
  • This command does NOT use `bootstrap()` (no disposal in legacy finally), same shape as refactor(cli): convert pr command to effectCmd #25465.

Test plan

  • `bun run typecheck`
  • `bun run test test/cli/` — 137 pass
  • `plug` alias still resolves to plugin command

Drops Instance.provide ceremony in favor of effectCmd's auto-provided
InstanceRef. createPlugTask is still a Promise function, wrapped via
Effect.promise. Adds aliases support to effectCmd to preserve the
"plug" alias.
@kitlangton kitlangton merged commit 0c816eb into dev May 2, 2026
13 checks passed
@kitlangton kitlangton deleted the kit/cli-effectify-plug branch May 2, 2026 21:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant