From 59599f03da16addd4869367f13b82c6db5fbf16b Mon Sep 17 00:00:00 2001 From: Andrey Avtomonov Date: Tue, 26 May 2026 13:41:06 +0200 Subject: [PATCH] feat(cli): surface docs and demo-warehouse links in ktx setup MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add a Clack note pointing to https://docs.kaelio.com/ktx right after the setup intro, and a second note pointing to https://kaelio.com/start above the database driver multiselect — mirroring the docs-site CTA wording. Closes KLO-715 and KLO-716. --- packages/cli/src/setup-databases.ts | 6 ++++++ packages/cli/src/setup.ts | 1 + 2 files changed, 7 insertions(+) diff --git a/packages/cli/src/setup-databases.ts b/packages/cli/src/setup-databases.ts index 0704ecd2..4014d689 100644 --- a/packages/cli/src/setup-databases.ts +++ b/packages/cli/src/setup-databases.ts @@ -35,6 +35,7 @@ import { isDemoConnection } from './telemetry/demo-detect.js'; import { emitTelemetryEvent } from './telemetry/index.js'; import { createKtxSetupPromptAdapter, + createKtxSetupUiAdapter, type KtxSetupPromptOption, } from './setup-prompts.js'; @@ -1780,6 +1781,11 @@ async function chooseDrivers( return 'missing-input'; } const initialValues = unique(options?.initialDrivers ?? []); + createKtxSetupUiAdapter().note( + 'Get demo credentials at https://kaelio.com/start', + '🎁 Need a warehouse to play with?', + io, + ); const choices = await prompts.multiselect({ message: withMultiselectNavigation('Which databases should KTX connect to?'), options: [...DRIVER_OPTIONS], diff --git a/packages/cli/src/setup.ts b/packages/cli/src/setup.ts index 422f95c5..9c523902 100644 --- a/packages/cli/src/setup.ts +++ b/packages/cli/src/setup.ts @@ -586,6 +586,7 @@ export async function runKtxSetup(args: KtxSetupArgs, io: KtxCliIo, deps: KtxSet async function runKtxSetupInner(args: KtxSetupArgs, io: KtxCliIo, deps: KtxSetupDeps = {}): Promise { const setupUi = deps.setupUi ?? createKtxSetupUiAdapter(); setupUi.intro('KTX setup', io); + setupUi.note('https://docs.kaelio.com/ktx', '📚 Docs', io); let entryAction: KtxSetupEntryAction | undefined; let projectResult: Awaited>; let agentNextActions: string | undefined;