@keystrokehq/cli 0.1.15 → 0.1.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/dist/{dist-BnIugffH.mjs → dist-BRA_tOTT.mjs} +47 -5
  2. package/dist/{dist-BnIugffH.mjs.map → dist-BRA_tOTT.mjs.map} +1 -1
  3. package/dist/dist-BZBvPUyu.mjs +3 -0
  4. package/dist/{dist-PBiyADK0.mjs → dist-C6KqfgGN.mjs} +3 -3
  5. package/dist/{dist-PBiyADK0.mjs.map → dist-C6KqfgGN.mjs.map} +1 -1
  6. package/dist/{dist-B4pkCJsM.mjs → dist-DeRE4uJW.mjs} +2 -2
  7. package/dist/dist-DeRE4uJW.mjs.map +1 -0
  8. package/dist/{dist-BW3AMCud.mjs → dist-E9nHDRnf.mjs} +3 -3
  9. package/dist/{dist-BW3AMCud.mjs.map → dist-E9nHDRnf.mjs.map} +1 -1
  10. package/dist/index.mjs +27 -15
  11. package/dist/index.mjs.map +1 -1
  12. package/dist/{maybe-auto-update-BIarxWf3.mjs → maybe-auto-update-douMZFWJ.mjs} +2 -2
  13. package/dist/{maybe-auto-update-BIarxWf3.mjs.map → maybe-auto-update-douMZFWJ.mjs.map} +1 -1
  14. package/dist/skills-bundle/_AGENTS.mcp.md +10 -3
  15. package/dist/skills-bundle/_AGENTS.md +61 -70
  16. package/dist/skills-bundle/skills/keystroke-actions/SKILL.md +60 -12
  17. package/dist/skills-bundle/skills/keystroke-actions/references/catalog-and-imports.md +32 -3
  18. package/dist/skills-bundle/skills/keystroke-agents/SKILL.md +50 -8
  19. package/dist/skills-bundle/skills/keystroke-agents/references/models.md +11 -13
  20. package/dist/skills-bundle/skills/keystroke-agents/references/tools-mcp-codemode.md +45 -3
  21. package/dist/skills-bundle/skills/keystroke-agents/references/workflows-and-testing.md +1 -1
  22. package/dist/skills-bundle/skills/keystroke-apps/SKILL.md +26 -13
  23. package/dist/skills-bundle/skills/keystroke-apps/references/cli-and-catalog.md +47 -16
  24. package/dist/skills-bundle/skills/keystroke-channels/SKILL.md +66 -0
  25. package/dist/skills-bundle/skills/keystroke-channels/references/slack-setup.md +41 -0
  26. package/dist/skills-bundle/skills/keystroke-cli/SKILL.md +41 -93
  27. package/dist/skills-bundle/skills/keystroke-deploy/SKILL.md +10 -9
  28. package/dist/skills-bundle/skills/keystroke-deploy/references/build-and-full-deploy.md +3 -1
  29. package/dist/skills-bundle/skills/keystroke-deploy/references/filtered-deploy.md +3 -2
  30. package/dist/skills-bundle/skills/keystroke-deploy/references/wip-ignore.md +5 -2
  31. package/dist/skills-bundle/skills/keystroke-files/SKILL.md +12 -4
  32. package/dist/skills-bundle/skills/keystroke-skills/SKILL.md +7 -2
  33. package/dist/skills-bundle/skills/keystroke-triggers/SKILL.md +30 -17
  34. package/dist/skills-bundle/skills/keystroke-workflows/SKILL.md +27 -12
  35. package/dist/skills-bundle/skills/keystroke-workflows/references/authoring.md +116 -4
  36. package/dist/skills-bundle/skills/keystroke-workflows/references/testing.md +17 -9
  37. package/dist/templates/hello-world/README.md +19 -8
  38. package/dist/templates/hello-world/src/workflows/greeting.test.ts +1 -1
  39. package/dist/{version-DScIhncv.mjs → version-CJd1mEoq.mjs} +2 -2
  40. package/dist/{version-DScIhncv.mjs.map → version-CJd1mEoq.mjs.map} +1 -1
  41. package/package.json +2 -2
  42. package/dist/dist-B4pkCJsM.mjs.map +0 -1
  43. package/dist/dist-c4WWC9_F.mjs +0 -3
  44. package/dist/skills-bundle/skills/keystroke-cli/references/api-targets.md +0 -87
  45. package/dist/skills-bundle/skills/keystroke-gateways/SKILL.md +0 -43
  46. package/dist/skills-bundle/skills/keystroke-gateways/references/slack-setup.md +0 -27
package/dist/index.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
- import { $ as HistoryRunCancelResponseSchema, $t as StartOAuthConnectionResultSchema, A as CreateCustomAppRequestSchema, An as WorkspaceTriggerListResponseSchema, At as PresignProjectSourceRequestSchema, B as CredentialConsumerListQuerySchema, Bn as parseAppSlug, Bt as PromptResponseSchema, C as ConnectAuthorizeUrlResponseSchema, Cn as WorkflowRunDetailResponseSchema, Ct as OrganizationSidebarBrandingPatchSchema, D as CreateCredentialInstanceBodySchema, Dn as WorkflowSummaryListResponseSchema, Dt as PollRunResponseSchema, E as CreateApiKeyResponseSchema, En as WorkflowSummaryDetailResponseSchema, Et as PROJECT_REACHABILITY_REQUEST_TIMEOUT_MS, F as CreateProjectRequestSchema, Fn as detectProjectPackageManagerFromSnapshot, Ft as ProjectReachabilityResponseSchema, G as DownloadActiveProjectArtifactResponseSchema, Gn as slugifyAppName, Gt as SkillSummaryDetailResponseSchema, H as CredentialInstanceListResponseSchema, Ht as QueuedRunResponseSchema, I as CreateProjectResponseSchema, In as isAcceptableInstallExit, It as ProjectResponseSchema, J as GatewayAttachmentRecordSchema, Jt as StartKeystrokeConnectionInputSchema, K as DownloadActiveProjectSourceResponseSchema, Kt as SkillSummaryListResponseSchema, L as CredentialAssignmentListQuerySchema, Ln as listenPortFromPublicUrl, Lt as ProjectSettingsResponseSchema, M as CreateOrganizationRequestSchema, Mn as WorkspaceTriggerRunListResponseSchema, Mt as PresignUserAvatarRequestSchema, N as CreateOrganizationResponseSchema, Nn as buildConnectDeeplink, Nt as PresignUserAvatarResponseSchema, O as CreateCredentialsRequestSchema, On as WorkspaceTriggerDetailSchema, Ot as PresignOrgLogoRequestSchema, P as CreateProjectArtifactResponseSchema, Pt as ProjectPullStateSchema, Q as HealthResponseSchema, Qt as StartOAuthConnectionInputSchema, R as CredentialAssignmentListResponseSchema, Rt as ProjectSlugAvailabilityResponseSchema, S as CompleteProjectArtifactResponseSchema, Sn as UserPreferencesSchema, St as OpenApiDiscoverResponseSchema, T as CreateApiKeyRequestSchema, Tn as WorkflowRunListResponseSchema, Tt as PROJECT_PULL_STATE_RELATIVE_PATH, U as CredentialInstanceRecordSchema, Un as resolveConnectAppSlug, V as CredentialConsumerListResponseSchema, Vn as parseErrorResponse, Vt as QueuedAgentPromptResponseSchema, W as DeclineOrganizationInvitationResponseSchema, Wn as resolvePublicPlatformOrigin, Wt as RecentResourceListResponseSchema, X as GetCustomAppResponseSchema, Xt as StartMcpOAuthConnectionInputSchema, Y as GetCredentialResponseSchema, Yt as StartKeystrokeConnectionResultSchema, Z as GraphqlDiscoverResponseSchema, Zt as StartMcpOAuthConnectionResultSchema, _ as ChannelAccountListResponseSchema, _n as UploadProjectSourceResponseSchema, _t as ListProjectFilesResponseSchema, a as AgentSessionDetailResponseSchema, an as TriggerRunListResponseSchema, at as InviteProjectMembersRequestSchema, b as ChannelDirectoryListResponseSchema, bn as UserAvatarSchema, bt as ListProjectsResponseSchema, c as AgentSummaryListResponseSchema, cn as UpdateCredentialRequestSchema, ct as ListAgentMemoryFilesResponseSchema, d as AssignCredentialBodySchema, dn as UpdateOrganizationRequestSchema, dt as ListAppsResponseSchema, en as SubmitMarketingContactRequestSchema, et as HistoryRunDetailResponseSchema, f as BindChannelBodySchema, fn as UpdateProjectMemberRequestSchema, ft as ListCredentialsResponseSchema, g as CatalogAppsPageResponseSchema, gn as UploadProjectSourceManifestRequestSchema, gt as ListProjectDeploymentsResponseSchema, h as CatalogAppDetailResponseSchema, hn as UpdateProjectSettingsRequestSchema, ht as ListOrganizationsResponseSchema, i as AgentSessionChatStateResponseSchema, in as TriggerRunDetailResponseSchema, it as InviteOrganizationMembersResponseSchema, j as CreateCustomAppResponseSchema, jn as WorkspaceTriggerOverviewSchema, jt as PresignProjectSourceResponseSchema, k as CreateCredentialsResponseSchema, kn as WorkspaceTriggerFileSchema, kt as PresignOrgLogoResponseSchema, l as AgentTriggerSummaryListResponseSchema, ln as UpdateOrganizationMemberRequestSchema, lt as ListAgentWorkspaceFilesResponseSchema, m as CatalogActionsPageResponseSchema, mn as UpdateProjectRequestSchema, mt as ListOrganizationMembersResponseSchema, n as AcceptOrganizationInvitationResponseSchema, nn as TriggerDetailResponseSchema, nt as HistoryRunListResponseSchema, o as AgentSessionListResponseSchema, on as UpdateChannelBindingBodySchema, ot as InviteProjectMembersResponseSchema, p as CatalogActionDetailResponseSchema, pn as UpdateProjectMemberResponseSchema, pt as ListOrganizationInvitationsResponseSchema, q as ErrorResponseSchema, qt as SlugAvailabilityResponseSchema, r as ActiveOrganizationResponseSchema, rn as TriggerListResponseSchema, rt as InviteOrganizationMembersRequestSchema, s as AgentSummaryDetailResponseSchema, sn as UpdateCredentialInstanceBodySchema, t as ACTIVE_ORG_HEADER, tn as SubmitTeamRequestRequestSchema, tt as HistoryRunListQuerySchema, u as AppSlugAvailabilityResponseSchema, un as UpdateOrganizationMemberResponseSchema, ut as ListApiKeysResponseSchema, v as ChannelConnectionListResponseSchema, vn as UpsertGatewayAttachmentBodySchema, vt as ListProjectMembersResponseSchema, w as ConnectProvidersResponseSchema, wn as WorkflowRunHooksResponseSchema, wt as OrganizationSidebarBrandingSchema, x as ChannelPlatformSchema, xn as UserPreferencesPatchSchema, xt as McpDiscoverResponseSchema, y as ChannelConnectionSchema, yn as UserAvatarPatchSchema, yt as ListProjectMetricsResponseSchema, z as CredentialAssignmentRecordSchema, zt as PromptInputSchema } from "./dist-BnIugffH.mjs";
3
- import { a as installPlaygroundDependencies, c as createCliConfig, d as getEffectiveApiTarget, f as getPlatformUrl, g as resolvePlatformUrlForWebUrl, i as installDependencies$1, l as getCliConfigDir, m as DEFAULT_PLATFORM_URL, n as buildPlaygroundWorkspace, o as resolvePackageManager, p as getWebUrl, s as resolveCliRoot, t as readCliVersion, u as getConfigDir } from "./version-DScIhncv.mjs";
4
- import { n as mergeFilteredArtifact, r as packProjectArtifact, t as mapInParallelBatches } from "./dist-B4pkCJsM.mjs";
2
+ import { $ as HistoryRunCancelResponseSchema, $t as StartMcpOAuthConnectionResultSchema, A as CreateCustomAppRequestSchema, An as WorkspaceTriggerDetailSchema, At as PresignOrgLogoRequestSchema, B as CredentialConsumerListQuerySchema, Bt as ProjectSlugAvailabilityResponseSchema, C as ConnectAuthorizeUrlResponseSchema, Cn as UserPreferencesPatchSchema, Ct as OrganizationSidebarBrandingPatchSchema, D as CreateCredentialInstanceBodySchema, Dn as WorkflowRunListResponseSchema, Dt as PollRunResponseSchema, E as CreateApiKeyResponseSchema, En as WorkflowRunHooksResponseSchema, Et as PROJECT_REACHABILITY_REQUEST_TIMEOUT_MS, F as CreateProjectRequestSchema, Fn as buildConnectDeeplink, Ft as PresignUserAvatarResponseSchema, G as DownloadActiveProjectArtifactResponseSchema, Gn as resolveConnectAppSlug, H as CredentialInstanceListResponseSchema, Hn as parseAppSlug, Ht as PromptResponseSchema, I as CreateProjectResponseSchema, It as ProjectPullStateSchema, J as GatewayAttachmentRecordSchema, Jt as SkillSummaryListResponseSchema, K as DownloadActiveProjectSourceResponseSchema, Kn as resolvePublicPlatformOrigin, Kt as RecentResourceListResponseSchema, L as CredentialAssignmentListQuerySchema, Ln as detectProjectPackageManagerFromSnapshot, Lt as ProjectReachabilityResponseSchema, M as CreateOrganizationRequestSchema, Mn as WorkspaceTriggerListResponseSchema, Mt as PresignProjectSourceRequestSchema, N as CreateOrganizationResponseSchema, Nn as WorkspaceTriggerOverviewSchema, Nt as PresignProjectSourceResponseSchema, O as CreateCredentialsRequestSchema, On as WorkflowSummaryDetailResponseSchema, Ot as PresignChatAttachmentRequestSchema, P as CreateProjectArtifactResponseSchema, Pn as WorkspaceTriggerRunListResponseSchema, Pt as PresignUserAvatarRequestSchema, Q as HealthResponseSchema, Qt as StartMcpOAuthConnectionInputSchema, R as CredentialAssignmentListResponseSchema, Rn as isAcceptableInstallExit, Rt as ProjectResponseSchema, S as CompleteProjectArtifactResponseSchema, Sn as UserAvatarSchema, St as OpenApiDiscoverResponseSchema, T as CreateApiKeyRequestSchema, Tn as WorkflowRunDetailResponseSchema, Tt as PROJECT_PULL_STATE_RELATIVE_PATH, U as CredentialInstanceRecordSchema, Un as parseErrorResponse, Ut as QueuedAgentPromptResponseSchema, V as CredentialConsumerListResponseSchema, Vt as PromptInputSchema, W as DeclineOrganizationInvitationResponseSchema, Wt as QueuedRunResponseSchema, X as GetCustomAppResponseSchema, Xt as StartKeystrokeConnectionInputSchema, Y as GetCredentialResponseSchema, Yt as SlugAvailabilityResponseSchema, Z as GraphqlDiscoverResponseSchema, Zt as StartKeystrokeConnectionResultSchema, _ as ChannelAccountListResponseSchema, _n as UpdateProjectSettingsRequestSchema, _t as ListProjectFilesResponseSchema, a as AgentSessionDetailResponseSchema, an as TriggerListResponseSchema, at as InviteProjectMembersRequestSchema, b as ChannelDirectoryListResponseSchema, bn as UpsertGatewayAttachmentBodySchema, bt as ListProjectsResponseSchema, c as AgentSummaryListResponseSchema, cn as UpdateChannelBindingBodySchema, ct as ListAgentMemoryFilesResponseSchema, d as AssignCredentialBodySchema, dn as UpdateOrganizationMemberRequestSchema, dt as ListAppsResponseSchema, en as StartOAuthConnectionInputSchema, et as HistoryRunDetailResponseSchema, f as BindChannelBodySchema, fn as UpdateOrganizationMemberResponseSchema, ft as ListCredentialsResponseSchema, g as CatalogAppsPageResponseSchema, gn as UpdateProjectRequestSchema, gt as ListProjectDeploymentsResponseSchema, h as CatalogAppDetailResponseSchema, hn as UpdateProjectMemberResponseSchema, ht as ListOrganizationsResponseSchema, i as AgentSessionChatStateResponseSchema, in as TriggerDetailResponseSchema, it as InviteOrganizationMembersResponseSchema, j as CreateCustomAppResponseSchema, jn as WorkspaceTriggerFileSchema, jt as PresignOrgLogoResponseSchema, k as CreateCredentialsResponseSchema, kn as WorkflowSummaryListResponseSchema, kt as PresignChatAttachmentResponseSchema, l as AgentTriggerSummaryListResponseSchema, ln as UpdateCredentialInstanceBodySchema, lt as ListAgentWorkspaceFilesResponseSchema, m as CatalogActionsPageResponseSchema, mn as UpdateProjectMemberRequestSchema, mt as ListOrganizationMembersResponseSchema, n as AcceptOrganizationInvitationResponseSchema, nn as SubmitMarketingContactRequestSchema, nt as HistoryRunListResponseSchema, o as AgentSessionListResponseSchema, on as TriggerRunDetailResponseSchema, ot as InviteProjectMembersResponseSchema, p as CatalogActionDetailResponseSchema, pn as UpdateOrganizationRequestSchema, pt as ListOrganizationInvitationsResponseSchema, q as ErrorResponseSchema, qn as slugifyAppName, qt as SkillSummaryDetailResponseSchema, r as ActiveOrganizationResponseSchema, rn as SubmitTeamRequestRequestSchema, rt as InviteOrganizationMembersRequestSchema, s as AgentSummaryDetailResponseSchema, sn as TriggerRunListResponseSchema, t as ACTIVE_ORG_HEADER, tn as StartOAuthConnectionResultSchema, tt as HistoryRunListQuerySchema, u as AppSlugAvailabilityResponseSchema, un as UpdateCredentialRequestSchema, ut as ListApiKeysResponseSchema, v as ChannelConnectionListResponseSchema, vn as UploadProjectSourceManifestRequestSchema, vt as ListProjectMembersResponseSchema, w as ConnectProvidersResponseSchema, wn as UserPreferencesSchema, wt as OrganizationSidebarBrandingSchema, x as ChannelPlatformSchema, xn as UserAvatarPatchSchema, xt as McpDiscoverResponseSchema, y as ChannelConnectionSchema, yn as UploadProjectSourceResponseSchema, yt as ListProjectMetricsResponseSchema, z as CredentialAssignmentRecordSchema, zn as listenPortFromPublicUrl, zt as ProjectSettingsResponseSchema } from "./dist-BRA_tOTT.mjs";
3
+ import { a as installPlaygroundDependencies, c as createCliConfig, d as getEffectiveApiTarget, f as getPlatformUrl, g as resolvePlatformUrlForWebUrl, i as installDependencies$1, l as getCliConfigDir, m as DEFAULT_PLATFORM_URL, n as buildPlaygroundWorkspace, o as resolvePackageManager, p as getWebUrl, s as resolveCliRoot, t as readCliVersion, u as getConfigDir } from "./version-CJd1mEoq.mjs";
4
+ import { n as mergeFilteredArtifact, r as packProjectArtifact, t as mapInParallelBatches } from "./dist-DeRE4uJW.mjs";
5
5
  import { createRequire } from "node:module";
6
6
  import { Command } from "commander";
7
7
  import { platform } from "node:os";
@@ -3655,6 +3655,15 @@ function createAgentsResource(http) {
3655
3655
  throw await toPlatformError(error);
3656
3656
  }
3657
3657
  },
3658
+ async presignAttachment(projectId, agentSlug, input) {
3659
+ try {
3660
+ const payload = PresignChatAttachmentRequestSchema.parse(input);
3661
+ const data = await http.post(`api/projects/${encodeURIComponent(projectId)}/agents/${encodeURIComponent(agentSlug)}/attachments/presign`, { json: payload }).json();
3662
+ return PresignChatAttachmentResponseSchema.parse(data);
3663
+ } catch (error) {
3664
+ throw await toPlatformError(error);
3665
+ }
3666
+ },
3658
3667
  async getSessionState(projectId, sessionId, options) {
3659
3668
  try {
3660
3669
  const sinceSeq = options?.sinceSeq;
@@ -6105,7 +6114,7 @@ function registerBuildCommand(program) {
6105
6114
  program.command("build").description("Build the keystroke project for production").option("--dir <path>", "Project directory", process.cwd()).action(async (options) => {
6106
6115
  try {
6107
6116
  const root = resolveProjectRoot(options.dir);
6108
- const { buildApp } = await import("./dist-PBiyADK0.mjs");
6117
+ const { buildApp } = await import("./dist-C6KqfgGN.mjs");
6109
6118
  await buildApp({ root });
6110
6119
  process.stdout.write(`Built ${root}\n`);
6111
6120
  } catch (error) {
@@ -6159,7 +6168,7 @@ async function sleep(ms) {
6159
6168
  }
6160
6169
  async function buildDeployArchive(client, root, projectId, filter) {
6161
6170
  if (filter?.length) {
6162
- const { buildFilteredApp } = await import("./dist-PBiyADK0.mjs");
6171
+ const { buildFilteredApp } = await import("./dist-C6KqfgGN.mjs");
6163
6172
  const filtered = await buildFilteredApp({
6164
6173
  root,
6165
6174
  filter,
@@ -6181,7 +6190,7 @@ async function buildDeployArchive(client, root, projectId, filter) {
6181
6190
  sourceFiles: filtered.sourceFiles
6182
6191
  };
6183
6192
  }
6184
- const { buildApp } = await import("./dist-PBiyADK0.mjs");
6193
+ const { buildApp } = await import("./dist-C6KqfgGN.mjs");
6185
6194
  const { sourceFiles } = await buildApp({
6186
6195
  root,
6187
6196
  collectSources: true,
@@ -6300,7 +6309,7 @@ function runtimeChildEnv(parentEnv, overrides) {
6300
6309
  //#region src/project/bootstrap-run.ts
6301
6310
  /** Node args + env for `@keystrokehq/build` bootstrap (shared by start + dev). */
6302
6311
  async function resolveBootstrapRun(options) {
6303
- const { resolveRuntimeBuildArtifact } = await import("./dist-PBiyADK0.mjs");
6312
+ const { resolveRuntimeBuildArtifact } = await import("./dist-C6KqfgGN.mjs");
6304
6313
  const loader = pathToFileURL(resolveRuntimeBuildArtifact(options.runtimeNodeModules, "dist/runtime-loader.mjs")).href;
6305
6314
  const bootstrap = resolveRuntimeBuildArtifact(options.runtimeNodeModules, "dist/standalone-bootstrap.mjs");
6306
6315
  const args = [`--import=${loader}`];
@@ -6449,7 +6458,7 @@ async function runDev(options) {
6449
6458
  process.on("SIGINT", shutdown);
6450
6459
  process.on("SIGTERM", shutdown);
6451
6460
  try {
6452
- const { watchApp } = await import("./dist-PBiyADK0.mjs");
6461
+ const { watchApp } = await import("./dist-C6KqfgGN.mjs");
6453
6462
  await watchApp({
6454
6463
  root,
6455
6464
  clean: false,
@@ -6599,7 +6608,7 @@ const INIT_CATALOG_VERSIONS = {
6599
6608
  vitest: "^4.1.7",
6600
6609
  "@types/node": "^25.9.1"
6601
6610
  };
6602
- const INIT_KEYSTROKE_VERSION = "^0.1.14";
6611
+ const INIT_KEYSTROKE_VERSION = "^0.1.15";
6603
6612
  //#endregion
6604
6613
  //#region src/init/copy-template.ts
6605
6614
  function renderTemplate(content, variables) {
@@ -6793,7 +6802,9 @@ async function removeExampleFiles(targetDir) {
6793
6802
  /**
6794
6803
  * Drop the README sections that walk through the example hello agent / greeting
6795
6804
  * workflow — those primitives don't exist in a --no-example scaffold (e.g. MCP
6796
- * sprite bootstrap), so shipping their usage docs is misleading.
6805
+ * sprite bootstrap), so shipping their usage docs is misleading. Example-only
6806
+ * prose is fenced with `<!-- example:start -->` / `<!-- example:end -->` markers
6807
+ * so this stays robust to README wording changes.
6797
6808
  */
6798
6809
  async function stripExampleReadme(targetDir) {
6799
6810
  const readmePath = join(targetDir, "README.md");
@@ -6803,7 +6814,7 @@ async function stripExampleReadme(targetDir) {
6803
6814
  } catch {
6804
6815
  return;
6805
6816
  }
6806
- const next = content.replace(/Prompt the hello agent:\n+```bash\n[\s\S]*?\n```\n+/, "").replace(/Run the greeting workflow:\n+```bash\n[\s\S]*?\n```\n+/, "").replace(/\nExample: `src\/workflows\/greeting\.test\.ts`[^\n]*\n/, "\n");
6817
+ const next = content.replace(/\n?<!-- example:start -->\n[\s\S]*?<!-- example:end -->\n/g, "");
6807
6818
  if (next !== content) await writeFile(readmePath, next);
6808
6819
  }
6809
6820
  async function directoryExists(path) {
@@ -6874,8 +6885,9 @@ function registerInitCommand(program) {
6874
6885
  process.stdout.write(`Created keystroke project "${result.projectName}" at ${result.targetDir}\n`);
6875
6886
  process.stdout.write("\nNext steps:\n");
6876
6887
  process.stdout.write(` cd ${result.targetDir}\n`);
6877
- process.stdout.write(" # set ANTHROPIC_API_KEY and integration keys in .env\n");
6878
- process.stdout.write(" keystroke dev\n");
6888
+ process.stdout.write(" keystroke auth login # once\n");
6889
+ process.stdout.write(" keystroke project list # pick a project (or: project create)\n");
6890
+ process.stdout.write(" keystroke deploy --project <id> # build + ship src/ to the platform\n");
6879
6891
  } catch (error) {
6880
6892
  const message = error instanceof Error ? error.message : "Init failed";
6881
6893
  process.stderr.write(`${message}\n`);
@@ -7381,7 +7393,7 @@ async function runStart(options) {
7381
7393
  const apiPort = Number(new URL(serverUrl).port || 80);
7382
7394
  const runtimeNodeModules = resolveCliRuntimeNodeModules(resolveCliRoot(import.meta.url));
7383
7395
  ensureNativeDeps(runtimeNodeModules);
7384
- const { buildApp } = await import("./dist-PBiyADK0.mjs");
7396
+ const { buildApp } = await import("./dist-C6KqfgGN.mjs");
7385
7397
  await buildApp({
7386
7398
  root,
7387
7399
  clean: false
@@ -7965,7 +7977,7 @@ function createProgram() {
7965
7977
  return program;
7966
7978
  }
7967
7979
  async function runCli(argv) {
7968
- const { maybeAutoUpdate } = await import("./maybe-auto-update-BIarxWf3.mjs");
7980
+ const { maybeAutoUpdate } = await import("./maybe-auto-update-douMZFWJ.mjs");
7969
7981
  await maybeAutoUpdate(argv);
7970
7982
  createProgram().parse(argv);
7971
7983
  }