Skip to content

feat: CliKit — a terminal UI layer for the CLI on @alchemy.run/sigil - #1233

Merged
BlankParticle merged 1 commit into
mainfrom
feat/clikit
Aug 31, 2026
Merged

feat: CliKit — a terminal UI layer for the CLI on @alchemy.run/sigil#1233
BlankParticle merged 1 commit into
mainfrom
feat/clikit

Conversation

@BlankParticle

@BlankParticle BlankParticle commented Aug 15, 2026

Copy link
Copy Markdown
Member

Bottom of stack #1236: feat/clikitfeat/profilefeat/cli-overhaul.

This PR introduces CliKit, the shared terminal UI service used by the two PRs above for prompts, progress, semantic output, and full-screen applications. It is built on @alchemy.run/sigil, our renderer fork.

What lands here

  • One scoped CliKit service, provided once at the CLI root.
  • A lazily imported SigilRuntime, so non-interactive commands do not eagerly load React or the renderer.
  • Typed non-interactive and cancellation failures instead of hanging on unavailable input.
  • Serialized prompt sessions, interruption-safe live views, and one renderer root per output stream.
  • Prompt primitives for text, secrets, confirmation, selection, menus, browser authorization, and custom screens.
  • Scope-owned progress, task, transcript, application, and alternate-screen lifecycles.
  • Theme-aware layout, typography, feedback, data, and interactive components with Unicode/ASCII fallbacks.
  • Sigil-owned stdio capture so logs and direct output remain ordered around active live regions.
  • Capability detection for TTY input, color, Unicode, size, alternate screen, and --no-input.

The implementation and public terminology consistently use Sigil: SigilRuntime, Sigil component aliases, loader names, comments, and tests. The obsolete Ink patch is removed later in the stack when the legacy renderer is deleted.

Stack boundary

The focused CliKit suite exercises real rendering through fake streams, including ordering, resize behavior, prompts, cancellation, interruption, renderer failures, full-screen sessions, and teardown.

@alchemy-version-bot

alchemy-version-bot Bot commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

Install the packages built from this commit:

Alchemy

alchemy

bun add https://pkg.ing/alchemy/a895bcc

@alchemy.run/better-auth

bun add https://pkg.ing/@alchemy.run/better-auth/a895bcc

@alchemy.run/cloudflare-runtime

bun add https://pkg.ing/@alchemy.run/cloudflare-runtime/a895bcc

@alchemy.run/frontend-frameworks

bun add https://pkg.ing/@alchemy.run/frontend-frameworks/a895bcc

@alchemy.run/node-utils

bun add https://pkg.ing/@alchemy.run/node-utils/a895bcc

@alchemy.run/pr-package

bun add https://pkg.ing/@alchemy.run/pr-package/a895bcc

@alchemy.run/floci

bun add https://pkg.ing/@alchemy.run/floci/a895bcc

Distilled

@distilled.cloud/core

bun add https://pkg.ing/@distilled.cloud/core/cb11c5b

@distilled.cloud/aws

bun add https://pkg.ing/@distilled.cloud/aws/cb11c5b

@distilled.cloud/axiom

bun add https://pkg.ing/@distilled.cloud/axiom/cb11c5b

@distilled.cloud/cloudflare

bun add https://pkg.ing/@distilled.cloud/cloudflare/cb11c5b

@distilled.cloud/hetzner

bun add https://pkg.ing/@distilled.cloud/hetzner/cb11c5b

@distilled.cloud/neon

bun add https://pkg.ing/@distilled.cloud/neon/cb11c5b

@distilled.cloud/planetscale

bun add https://pkg.ing/@distilled.cloud/planetscale/cb11c5b

@BlankParticle
BlankParticle force-pushed the feat/clikit branch 2 times, most recently from 04a7667 to 93f923a Compare August 15, 2026 21:16
@BlankParticle BlankParticle changed the title feat: CliKit — an Ink-based terminal UI layer for the CLI feat: Ink-based terminal UI layer for the CLI Aug 16, 2026
@BlankParticle
BlankParticle force-pushed the feat/clikit branch 8 times, most recently from eb91106 to 0aaaeee Compare August 22, 2026 15:00
@BlankParticle BlankParticle changed the title feat: Ink-based terminal UI layer for the CLI feat: CliKit — a terminal UI layer for the CLI on @alchemy.run/sigil Aug 22, 2026
@BlankParticle
BlankParticle force-pushed the feat/clikit branch 2 times, most recently from 4d3933e to fde227e Compare August 24, 2026 15:59
@BlankParticle
BlankParticle force-pushed the feat/clikit branch 7 times, most recently from 9335ff3 to 480b48a Compare August 31, 2026 06:42
@BlankParticle
BlankParticle force-pushed the feat/clikit branch 2 times, most recently from e832616 to 006285e Compare August 31, 2026 19:29
@BlankParticle
BlankParticle merged commit bf4d235 into main Aug 31, 2026
7 checks passed
@BlankParticle
BlankParticle deleted the feat/clikit branch August 31, 2026 19:58
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.

1 participant