Skip to content

fix(cli): scaffold emits aspire start not aspire run (alpha.11 Slice G)#161

Merged
rickylabs merged 1 commit into
mainfrom
fix/scaffold-aspire-start-alpha11-g
Jun 27, 2026
Merged

fix(cli): scaffold emits aspire start not aspire run (alpha.11 Slice G)#161
rickylabs merged 1 commit into
mainfrom
fix/scaffold-aspire-start-alpha11-g

Conversation

@rickylabs

Copy link
Copy Markdown
Owner

Summary

Fixes the alpha.11 fix-train gap where scaffolded project output still instructed users to run the invalid aspire run command even though the TypeScript AppHost template already points at aspire start. Refs #141 #153.

Scope

  • Archetype / area: CLI tooling / scaffold output
  • Slice: alpha.11 Slice G
  • Branch: fix/scaffold-aspire-start-alpha11-g

Changes

  • Updated generated project README TypeScript AppHost quick start, project structure note, command table, and database provisioning prose from aspire run to aspire start.
  • Updated init next-steps for non-legacy TypeScript AppHost scaffolds to emit aspire start # start TypeScript AppHost.
  • Updated app template and Aspire config source comments, then regenerated packages/cli/src/kernel/assets/embedded.generated.ts via deno task gen:assets-barrel.
  • Updated focused assertions so non-legacy README output requires aspire start and rejects aspire run; legacy C# AppHost remains dotnet run.

Validation

  • deno run --allow-read --allow-run .llm/tools/run-deno-check.ts --root packages/cli --ext ts,tsx — PASS, 527 files selected, 5 batches, 0 failed batches.
  • deno test --allow-all packages/cli/src/kernel/templates/workspace/generators_test.ts packages/cli/src/kernel/application/scaffold/orchestrate-init_test.ts — PASS, 18 passed / 0 failed.
  • rg -n "aspire run" packages/cli/src --glob '!**/*_test.ts' --glob '!**/*.test.ts' — PASS, no scaffold source/template occurrences.
  • git diff --check — PASS.
  • deno lint --no-config <touched .ts files> — PASS, 6 files checked.
  • deno fmt --check --no-config --single-quote --line-width 100 --indent-width 2 packages/cli/src/kernel/templates/workspace/generate-readme.ts — PASS.

Requested wrappers with the exact root commands were also run:

  • deno run --allow-read --allow-run .llm/tools/run-deno-lint.ts --root packages/cli --ext ts,tsx — exit 1 with JSON summary showing 527 files selected and 0 findings. Raw deno lint packages/cli/... reports No target files found because root deno.json explicitly excludes packages/cli/ under lint.exclude.
  • deno run --allow-read --allow-run .llm/tools/run-deno-fmt.ts --root packages/cli --ext ts,tsx — exit 1 with JSON summary showing 527 files selected, 0 findings, and failed batches. Raw deno fmt --check packages/cli/... reports No target files found because root deno.json explicitly excludes packages/cli/ under fmt.exclude.

Harness

  • Phase: implementation slice complete; separate OpenHands IMPL-EVAL still required.
  • Commit: 9b82271e

Drift / Debt

  • No code drift or architecture debt introduced.
  • Gate caveat: root lint/fmt wrappers are currently non-actionable for packages/cli because the root Deno config excludes that package from lint/fmt target discovery.

Replace scaffold-emitted TypeScript AppHost instructions that still said `aspire run` with the valid `aspire start` command, including generated README content, init next steps, template comments, embedded asset content, and assertions.

Refs #141 #153

Co-Authored-By: OpenAI Codex <codex@openai.com>
@rickylabs
rickylabs merged commit 6d5b7e7 into main Jun 27, 2026
9 of 11 checks passed
@rickylabs
rickylabs deleted the fix/scaffold-aspire-start-alpha11-g branch June 27, 2026 18:33
@rickylabs

Copy link
Copy Markdown
Owner Author

Slice G — scaffold emits aspire start (alpha.11 fix-train)

Blocker: Run-1 eye-test F-12 — scaffolded workspaces instructed users to run aspire run, which is not a valid Aspire CLI command (the CLI verb is aspire start), orphaning the AppHost on Windows.

Commit: 9b82271e — 7 files, +14/-11

File Change
init-orchestrator.ts next-step aspire runaspire start (TS AppHost)
generate-readme.ts 4 sites: start cmd, tree comment, command table, provision prose (legacy C# keeps dotnet run)
main.ts.template startup-banner comment
generate-aspire-config.ts doc comment
embedded.generated.ts regenerated from the template (not hand-edited)
orchestrate-init_test.ts / generators_test.ts expectations flipped + 3 new negative assertions (!md.includes('aspire run'))

Verification

  • Targeted tests: 18 passed / 0 failed (generators + orchestrate-init).
  • CI on this PR: check-test ✅, quality ✅, scaffold-static ✅, scaffold-runtime (aspire + docker + postgres), deps-report ✅.
  • Residual aspire run in packages/cli/src: 3 — all are the new negative test assertions (intentional; they assert the string is absent from generated READMEs).

Legacy C# AppHost path intentionally retains dotnet run. Zero logic changes — string/template + test deltas only.

Refs #141 #153

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