Skip to content

chore(nuget): publish-readiness fixes for CLI + template packages#1303

Merged
iammukeshm merged 3 commits into
mainfrom
chore/nuget-publish-readiness
Jun 19, 2026
Merged

chore(nuget): publish-readiness fixes for CLI + template packages#1303
iammukeshm merged 3 commits into
mainfrom
chore/nuget-publish-readiness

Conversation

@iammukeshm

Copy link
Copy Markdown
Member

Pre-publish validation of the FullStackHero.CLI and FullStackHero.NET.StarterKit packages. Ran the full pipeline end-to-end and fixed three issues found along the way.

Validation performed

  • Pack — both packages pack clean (CLI 0.90 MB, template 2.82 MB / 2064 files, no junk leak: no node_modules/bin/obj/.terraform/.tfstate/.claude).
  • Install + scaffold — template + fsh CLI install; scaffolded full, --no-aspire, and --no-frontend variants. Renames correct (Acme.Store.AppHost, Projects.Acme_Store_Api, OpenAPI title "Acme Store API"), conditional excludes correct.
  • Build — all 3 backend variants build 0 warn / 0 err (incl. Aspire); both React apps npm install + production build clean.
  • Run — scaffolded Aspire stack came up (Postgres/Valkey/MinIO/pgAdmin/migrator/demo-seeder/API/admin/dashboard); /health/live + /health/ready 200; Scalar 200; both frontends serve 200; root-admin JWT issued and GET /api/v1/tenants returned seeded data.
  • Tests — full suite green: 14 projects pass (~1,790 tests). One SignalR realtime test flaked under load and passes on isolated rerun (untouched by this PR).

Fixes

  1. Stop shipping a local AI-tool settings filesrc/.claude/settings.local.json was tracked and leaked into both the template package and scaffolded output (root .gitignore only anchored /.claude/). Untracked + ignore **/.claude/settings.local.json at any depth.
  2. Template package README — the template pack lives outside src/ so it never inherited src/Directory.Build.props's PackageReadmeFile; added PackageReadmeFile + root README so the nuget.org gallery page renders (clears the "missing a readme" pack warning). The logo (icon.png) is already embedded at the root of both packages.
  3. Aspire dashboard portlaunchSettings.json used an auto-generated 17273 while the README, README-template, fsh CLI "Next Steps" (FshConstants.AspireDashboardPort), and fsh doctor all advertise 15888. Pinned to 15888 so docs/CLI/doctor match reality.

🤖 Generated with Claude Code

iammukeshm and others added 3 commits June 19, 2026 19:27
Validated the full publish pipeline end-to-end (pack -> install -> scaffold
full/no-aspire/no-frontend -> build backend+frontends -> run Aspire stack ->
auth + endpoints). Three fixes surfaced:

- pack: stop shipping a local AI-tool settings file. src/.claude/settings.local.json
  was tracked and leaked into both the template package and scaffolded output
  (root .gitignore only anchored /.claude/). Untrack it and ignore **/.claude/
  settings.local.json at any depth.
- template pkg: render a README on the nuget.org gallery page. The template pack
  lives outside src/ so it never inherited src/Directory.Build.props's
  PackageReadmeFile; add PackageReadmeFile + the root README at package root
  (same README the CLI ships). Clears the "missing a readme" pack warning.
- aspire: pin the dashboard to the documented port 15888. launchSettings used an
  auto-generated 17273 while the README, README-template, fsh CLI "Next Steps"
  (FshConstants.AspireDashboardPort) and `fsh doctor` all advertise 15888.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@iammukeshm iammukeshm merged commit 2bf8686 into main Jun 19, 2026
11 checks passed
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