Skip to content

[docs] Document aspire-project-v2-migration skill - #1738

Closed
aspire-repo-bot[bot] wants to merge 2 commits into
release/13.6from
docs/pr-20158-35925696288-1-37d39c9f33ab17cb
Closed

aspire-repo-bot[bot] wants to merge 2 commits into
release/13.6from
docs/pr-20158-35925696288-1-37d39c9f33ab17cb

Conversation

@aspire-repo-bot

Copy link
Copy Markdown
Contributor

Documents changes from microsoft/aspire#20158

@karolz-ms

Target branch

Targeting release/13.6 — the latest release branch on microsoft/aspire.dev — because release/14.0 (from the source PR milestone 14.0) does not exist there.

Why this PR is needed

Source PR microsoft/aspire#20158 embedded the official microsoft/aspire-skills v0.0.3 release into the Aspire CLI, which includes the new aspire-project-v2-migration agent skill. The PR also added a short summary of this skill to src/Aspire.Hosting.Dotnet/README.md (a source-repo README, not a docs.aspire.dev page). No page on microsoft/aspire.dev previously mentioned aspire-project-v2-migration by name, so the deterministic signal check (integration_readme_changed, pr_body_has_cli_flag_mention) required drafting documentation here.

What changed

  • src/frontend/src/content/docs/integrations/dotnet/project-resources.mdx — added a new "Migrate from legacy project resources" section (mirroring the README addition) that describes the aspire-project-v2-migration skill: it assesses existing project resources in C# and TypeScript AppHosts targeting Aspire 13.6+, proposes an approval-first migration, preserves supported configuration, flags unsupported patterns (Azure Functions, custom ProjectResource-based integrations), and does not upgrade the AppHost's Aspire version itself.
  • src/frontend/src/content/docs/get-started/aspire-skills.mdx — added aspire-project-v2-migration as a new row in the "Companion skills and tools" table, plus a short paragraph and a LearnMore cross-reference to the new project-resources section.

Both are updates to existing pages; no new pages were created.

Files modified

  • src/frontend/src/content/docs/integrations/dotnet/project-resources.mdx
  • src/frontend/src/content/docs/get-started/aspire-skills.mdx

Generated by PR Documentation Check for #20158 · copilot · auto · 91.1 AIC · ⌖ 22.1 AIC · ⊞ 18.7K · ◷

Documents the aspire-project-v2-migration agent skill introduced by
microsoft/aspire#20158, which was embedded into the Aspire CLI's skill
bundle in that PR.

- Add a 'Migrate from legacy project resources' section to the .NET
  project resources reference page, mirroring the summary added to
  src/Aspire.Hosting.Dotnet/README.md in the source PR.
- List aspire-project-v2-migration in the companion skills table on
  the Aspire skills get-started page, with a cross-reference to the
  new migration section.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@aspire-repo-bot aspire-repo-bot Bot added the docs-from-code Copilot initiated issue from dotnet/aspire repo label Sep 23, 2026
@aspire-repo-bot

Copy link
Copy Markdown
Contributor Author

Frontend HTML artifact ready

The latest frontend build uploaded the frontend-dist artifact for PR #1738. Use the VS Code button below to open this PR with GitHub Artifacts Explorer and browse the built HTML locally.

VS Code: Open PR #1738 artifacts

This comment updates automatically when a new frontend build artifact is uploaded.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

The skill is placed under a section that incorrectly states it is not part of the bundled workflow skills.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 1 Low severity

Open (1)
What changed in this PR

Documents the new aspire-project-v2-migration skill and links it from relevant Aspire documentation.

Changes:

  • Adds migration guidance and limitations.
  • Adds the skill to the Aspire skills overview with a cross-reference.
File Summary
src/​frontend/​src/​content/​docs/​integrations/​dotnet/​project-resources.mdx Documents migration behavior and limitations.
src/​frontend/​src/​content/​docs/​get-started/​aspire-skills.mdx Lists and explains the migration skill.

💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

| ----------------------------- | ----------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `playwright-cli` | Testing running web resources in a browser | Use Playwright CLI for browser automation, including navigation, form interaction, screenshots, and visual checks |
| `dotnet-inspect` | Inspecting .NET APIs outside Aspire | Query .NET package and type surfaces that aren't covered by Aspire API docs |
| `aspire-project-v2-migration` | Migrating legacy .NET project resources in a C# or TypeScript AppHost targeting Aspire 13.6 or newer | Assess existing project resources, propose an approval-first migration, preserve supported configuration, and flag unsupported patterns such as Azure Functions and custom `ProjectResource`-based integrations |

@IEvangelist David Pine (IEvangelist) left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 Automated docs-accuracy review

Phase A source of truth: microsoft/aspire @ release/13.6 — SHA 8536cc330bfb6b335c2666f72ba5856a33a169c8
Claims extracted: 11 — ✅ 10 verified · ⚠️ 0 verified-with-nuance · ❓ 0 unverifiable · ❌ 1 contradicted
Phase B (doc-tester): 2 routes exercised (/get-started/aspire-skills/, /integrations/dotnet/project-resources/) — 🔴 0 critical · 🟡 1 warning · local PR render not executed (limitation disclosed below)

Verdict: 🔴 Request changes — one claim is contradicted by the source of truth.


Phase A — Claim verification (reads microsoft/aspire)

❌ Contradicted (1) — see the inline comment on the aspire-project-v2-migration companion-table row.

The PR lists aspire-project-v2-migration in the "Companion skills and tools" table, whose intro states these items "aren''t part of the microsoft/aspire-skills workflow bundle." But the embedded microsoft/aspire-skills v0.0.3 bundle declares this skill as one of its 7 bundle skills (skill-manifest.json), and track-telemetry.ps1:29 lists it in $AspireSkills. It belongs in the "Aspire workflow skills" table.

✅ Verified claims (10) with evidence

Evidence from microsoft/aspire @ release/13.6. The skill''s SKILL.md and references/ were read from the embedded aspire-skills-v0.0.3.tgz.

# Claim Evidence
C1 Skill aspire-project-v2-migration exists skill-manifest.json; SKILL.md; src/Aspire.Hosting.Dotnet/README.md:234
C2 Targets Aspire 13.6 or newer SKILL.md: "first applies to AppHosts targeting Aspire 13.6 or newer"; "Stop without edits if versions are older than 13.6"; README:234
C3 C# or TypeScript AppHost SKILL.md: C# AddProject/AddCSharpApp + TypeScript addProject/addDotnetProject
C4 Assess + approval-first migration before editing SKILL.md "Approval boundary" / "Ask for approval of that exact plan"; README:236
C5 Preserves supported resource configuration SKILL.md workflow steps; README:237
C6 Flags unsupported patterns incl. Azure Functions & custom ProjectResource integrations SKILL.md "Compatibility boundaries" (Azure Functions, ProjectResource subtypes, custom publishers, GetProjectResources()); README:237-238
C7 Doesn''t upgrade the AppHost''s Aspire version SKILL.md "DO NOT USE FOR: upgrading Aspire versions" / "do not upgrade Aspire implicitly"; README:239
C8 External link to aspire-skills/.../aspire-project-v2-migration bundle dir skills/aspire-project-v2-migration/; README:234 identical URL; path present on aspire-skills@main
C9 Anchor .../project-resources/#migrate-from-legacy-project-resources new heading ## Migrate from legacy project resources added in this PR
C10 Link /get-started/aspire-skills/ page exists (edited in this PR)

Non-blocking note: the docs summarize the target as generic "migration"; the skill specifically migrates legacy ProjectResource APIs to the experimental DotnetProjectResource (Project v2) model (ASPIREDOTNETPROJECT001). This simplification matches the source README, so it is not flagged as an inaccuracy.


Phase B — doc-tester results (blind to microsoft/aspire source)

Routes exercised: /get-started/aspire-skills/, /integrations/dotnet/project-resources/ (scoped to the PR diff).

Tester limitation (disclosed): the PR''s exact content was not rendered locally this run — the frontend''s node_modules isn''t installed, and standing up the full Astro dev site + browser for a prose/link/table-row change was disproportionate and conflicts with local-resource-conservation guidance. Blind-user rendering was observed on the deployed docs (which don''t yet include these additions), and the PR''s specific additions were validated statically against the two changed .mdx files. No microsoft/aspire product source was consulted in this phase.

Category Passed Failed Warnings
Rendering / components 3 0 0
Links & anchors 3 0 0
Content clarity 1 0 1

Passed checks

  • Both routes render on the deployed site; skills tables and LearnMore blocks render (blind-user view).
  • project-resources.mdx imports LearnMore (@components/LearnMore.astro) and already uses it → new <LearnMore> valid.
  • Internal link /get-started/aspire-skills/ → target exists; site-relative + trailing slash.
  • Internal link .../project-resources/#migrate-from-legacy-project-resources → target page exists; anchor generated by the new heading; trailing slash before anchor.
  • External link github.com/microsoft/aspire-skills/tree/main/skills/aspire-project-v2-migration → resolves (path present on main: SKILL.md, references, evals).

Warnings

  • Categorization / naming smell (blind-user observable): aspire-project-v2-migration carries the aspire- workflow prefix shared by the six "Aspire workflow skills" bundle entries, yet it''s listed under "Companion skills and tools" (framed as not part of the bundle) next to the non-aspire--prefixed playwright-cli and dotnet-inspect. A reader may be unsure whether an aspire--prefixed skill is truly a non-bundle companion. This converges with the Phase A contradiction.

Knowledge gaps

  • A blind user can''t determine from the docs alone whether this skill ships inside the microsoft/aspire-skills bundle or as a separate companion.

Recommendations

  1. Move the aspire-project-v2-migration row into the "Aspire workflow skills" table — this resolves both the Phase A contradiction and the Phase B warning.
  2. Otherwise the added prose, links, anchors, and components are accurate and render correctly.

Automated hourly docs-from-code review · Phase A (source-of-truth) + Phase B (doc-tester) · reviewer David Pine (@IEvangelist)

| ----------------------------- | ----------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `playwright-cli` | Testing running web resources in a browser | Use Playwright CLI for browser automation, including navigation, form interaction, screenshots, and visual checks |
| `dotnet-inspect` | Inspecting .NET APIs outside Aspire | Query .NET package and type surfaces that aren't covered by Aspire API docs |
| `aspire-project-v2-migration` | Migrating legacy .NET project resources in a C# or TypeScript AppHost targeting Aspire 13.6 or newer | Assess existing project resources, propose an approval-first migration, preserve supported configuration, and flag unsupported patterns such as Azure Functions and custom `ProjectResource`-based integrations |

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

❌ Contradicted by source of truth — miscategorized skill

This row places aspire-project-v2-migration under "Companion skills and tools", whose intro (line 267) says these items "aren't part of the microsoft/aspire-skills workflow bundle." That framing is incorrect for this skill.

Per microsoft/aspire @ release/13.6 (SHA 8536cc330b), aspire-project-v2-migration is part of the bundle:

  • aspire-skills-v0.0.3.tgz → skill-manifest.json lists it among the 7 bundle skills: aspire, aspire-deployment, aspire-init, aspire-monitoring, aspire-orchestration, aspire-project-v2-migration, aspireify.
  • src/Aspire.Cli/Agents/Hooks/track-telemetry.ps1:29 → $AspireSkills = @('aspire', 'aspire-init', 'aspireify', 'aspire-project-v2-migration', 'aspire-orchestration', 'aspire-deployment', 'aspire-monitoring').
  • The embedded bundle archive contains skills/aspire-project-v2-migration/.

Suggested fix: move this row into the "Aspire workflow skills" table (line 244). playwright-cli and dotnet-inspect are genuinely outside the bundle (not in the manifest), but aspire-project-v2-migration is not — it ships with the workflow bundle.

David Pine (IEvangelist) added a commit that referenced this pull request Sep 28, 2026
…ps (#1780)

## Summary

<!-- Describe what this pull request changes and why. -->

Reconcile the 13.6 wiki audit and **all 25 open `docs-from-code`
proposals targeting `release/13.6`** against the actual release source.
Add missing canonical guidance rather than putting all coverage in
What's new. This is a new, isolated feature PR into `release/13.6`; it
does not update the release rollup #1599, merge or close another
proposal, or push directly to a release branch.

**Draft with explicit remaining packaging/validation gates:** the six
REPL walkthroughs are source-verified, but current publicly available
13.6 packages do not contain the late `WithRepl` exports. Generated API
catalogs have deliberately not been fabricated or refreshed from 14.x.
See the open checklist below.

### Evidence baseline

- Documentation base: `717442f6666948bcf77f3d704dc2dadf7c080ec2`.
- Product source of truth:
[`microsoft/aspire@e8fd6fbb954f50ccd2e66479538392f65e13e71d`](https://github.com/microsoft/aspire/tree/e8fd6fbb954f50ccd2e66479538392f65e13e71d),
current `release/13.6` at audit time. Source was read from that Git
object, not the stale source working directory.
- [13.6 wiki](https://github.com/microsoft/aspire/wiki/13.6-Change-log)
snapshot `8e01a371d4f16a1306e48174d4cf1fdeca714348`, whose cutoff is
product PR 20511. Later backports 20541/20546/20548 are included here.
- Proposal base branches alone were **not** used as proof of release
membership. Direct ancestry and known release backports were checked.
Four fallback-targeted proposals are excluded below.
- Wiki link corrections: its REPL link #1752 actually covers Sandboxes;
the REPL proposal is #1740. Its AOT link #1714 covers PFX certificates,
not AOT.

### Complete audit-gap checklist

Checked items mean documentation coverage is implemented, not that cloud
deployment or every product runtime scenario was executed.

- [x] **1. Dotnet API graduation:** correct removal to **13.6**, not
14.0, in What's new, both Dotnet guides, and the diagnostic page;
preserve the prerelease package caveat. This applies to core
`AddDotnetProject`, `DotnetProjectResource`, and related
`WithBuildEnvironment` overloads, not all uses of the diagnostic.
Source: microsoft/aspire#20496.
- [x] **2. Sandboxes:** remove obsolete API suppressions in the article
and deployment guide while preserving Azure service preview/access and
prerelease package limitations. Source: microsoft/aspire#20483.
- [x] **3. Docked REPL documentation:** all six
PostgreSQL/MySQL/MongoDB/SQL Server/Redis/Valkey guides plus the article
now cover opt-in `WithRepl`/`withRepl`, run-only availability, actual
client privileges, credential handling, and explicit exit versus closing
a viewer. Source: microsoft/aspire#20419, backport of
microsoft/aspire#20231. Package-backed checks remain open below.
- [x] **4. Terminal CLI flag:** update current 13.6 article,
`with-terminal`, and all three terminal command references. Preserve
`terminals.v1` and experimental hosting API distinctions. Current
configuration/schema data had no flag entry to remove; historical 13.5
notes remain historical. Source: microsoft/aspire#20548.
- [x] **5. First-party Rust:** rewrite both canonical Rust guides around
`Aspire.Hosting.Rust`; document Cargo versus application arguments,
typed targets, debugging, generated Dockerfiles, workspace context, ABI
constraints, and Toolkit migration. Bacon remains explicitly
Toolkit-only. Add exact first-party package mapping. Source:
microsoft/aspire#18906 and current Rust README.
- [x] **6. Agent setup:** align command reference, skills guide,
AI-agent guide, and article on MCP opt-in, `--mcp`,
chained/non-interactive behavior, seven-skill catalog, Project v2
migration, and Copilot app detection. Also fix stale default-selection
text: all applicable bundle skills are preselected; companion tools
remain opt-in. Sources: microsoft/aspire#19893, microsoft/aspire#20405,
microsoft/aspire#19820.
- [x] **7. Deno AppHost runtime:** document Deno 2+ detection, commands,
permissions, native watch/type checking, doctor, and `DENO_CERT`,
separately from Deno guest hosting. Source: microsoft/aspire#18627,
distinct from microsoft/aspire#18628.
- [x] **8. Native AOT / Fluent UI v5:** concise article, dashboard
exploration, and standalone guidance; automatic packaged-dashboard
selection, no invented performance figures. Source:
microsoft/aspire#19565 and release packaging sources.
- [x] **9. NuGet:** document bundled in-process operations, credential
providers, non-interactive authentication, and realistic
troubleshooting. Correct the proposal's `dotnet nuget locals`
authentication advice: cache commands do not authenticate a feed.
Source: microsoft/aspire#20391.
- [x] **10. Multithreaded builds:** article and coordinated-build guide
explain `-mt`, SDK detection, distinct project/file-based SDK floors,
and fallback. Source: microsoft/aspire#20441.
- [x] **11. Radius:** add a real deployment guide with C#/TypeScript
setup, recipe-backed connections versus local endpoints, per-resource
credential behavior, unauthenticated Redis limitation, secret exposure
boundaries, and actionable runtime diagnostics 070–091. Wire navigation
and exact package mapping. Source: microsoft/aspire#19555 and release
README.
- [x] **12. Connection aliases:** replace contradictory no-encoding
guidance, retain composed logical-key-first lookup and portable-target
behavior, explain collision detection and custom-publisher metadata.
Source: microsoft/aspire#19729.
- [x] **13. Connector Namespace / Toolbox / provisioning:** add
Connector Namespace walkthrough, security/consent/revocation limits and
mapping/sidebar; add Foundry Toolbox walkthrough, connection properties,
roles, index prerequisites, approval enforcement boundaries, immutable
versions, and existing-resource behavior. Extend existing Azure
provisioning guide without a duplicate page. Sources:
microsoft/aspire#19024, microsoft/aspire#17742, microsoft/aspire#20131.
- [x] **14. Remaining high-impact items:** article covers opt-in
manifest-aware DNX and new-template CLI bundling (existing SDK guides
retained), migration skill and Copilot app detection; canonical inline
`CsiVolumeSourceV1`/`VolumeV1.Csi` example, management links, Cosmos
vNext telemetry, and AI Inference `GetModelInfoAsync`/`/info` health
checks with `DisableHealthChecks`. No Azure OpenAI health-check claim.
Sources: microsoft/aspire#19310, microsoft/aspire#19076,
microsoft/aspire#19826, microsoft/aspire#20070, microsoft/aspire#15671,
microsoft/aspire#15969.
- [x] **15. All 25 proposal dispositions:** listed below, including
newer dashboard backports and four exclusions. Existing Sandbox
inference coverage is retained rather than copied from a stale draft.
- [ ] **16. Refresh generated API/catalog/Twoslash data from an official
post-backport 13.6 build.** Existing `26473.12`/`a11eca96` data remains
untouched. The newest public `dotnet9` feed package checked,
`13.6.0-preview.1.26474.10` at
`43496a2a306c81c862c947b11b4f4e5494b6fe08`, still has no Redis
`WithRepl` in its actual package XML. Do not use 14.x, hand-edit
declarations, or attribute source changes to older binaries.
- [ ] **Validate the six REPL examples against that actual post-backport
SDK and running clients.** Their new TypeScript fences are plain
TypeScript, not annotated with unsupported Twoslash data. No existing
diagnostics are allowlisted or suppressed; no generated API exports are
fabricated. Enable Twoslash when the genuine catalog catches up.

### All 25 open proposal dispositions and provenance

Text is selectively adapted from these proposals, not merged wholesale.
#1778 and #1748 are authored by @sebastienros; the other proposals are
authored by the Aspire repo bot. The table credits the associated
product-change authors where supplied by the proposals. Existing PRs
remain open and unchanged.

| Docs PR | Release source / credited product author | Disposition |
| --- | --- | --- |
| #1778 | microsoft/aspire#19729 — @sebastienros | **Adopted:**
canonical connection-string alias correction, including logical-first
resolution and migration. |
| #1771 | microsoft/aspire#20481 — @sebastienros | **Excluded:** flat
polyglot feature keys are not in the audited release tip; no verified
backport. Preserve release key names. |
| #1770 | microsoft/aspire#20525 → microsoft/aspire#20548 — @mitchdenny
| **Corrected/adopted:** command guides plus the still-current 13.6
article, which the proposal incorrectly treats as historical. |
| #1769 | microsoft/aspire#20416 — @JamesNK | **Excluded:** brand hover
change has no verified 13.6 membership/backport. |
| #1768 | microsoft/aspire#20523 → microsoft/aspire#20546 — @JamesNK |
**Adopted:** run pin/unpin preserves selector and current selection. |
| #1766 | microsoft/aspire#20537 → microsoft/aspire#20541 — @mitchdenny
| **Adopted:** terminal dock empty state. |
| #1761 | microsoft/aspire#20490 → microsoft/aspire#20496 — @eerhardt |
**Corrected:** graduation is 13.6, package remains prerelease,
Blazor-specific exception retained. |
| #1760 | microsoft/aspire#20436 — @eerhardt | **Excluded:** CLI
net11/tools-any retarget is not in the audited release; no fallback-base
inference. |
| #1748 | microsoft/aspire#20131 — @sebastienros | **Adopted:** extend
existing provisioning guide with service-specific models/lookups and
projection limits. |
| #1744 | microsoft/aspire#20337 → microsoft/aspire#20441 — @karolz-ms |
**Adopted:** precise SDK-conditional multithreaded build coverage. |
| #1740 | microsoft/aspire#20231 → microsoft/aspire#20419 — @mitchdenny
| **Adapted:** all six guides; TypeScript-first tabs, source-verified
lifecycle/security. Actual post-backport SDK/runtime gate is open above.
|
| #1738 | microsoft/aspire#20158 → microsoft/aspire#20405 — @karolz-ms |
**Partly already covered / completed:** existing seven-skill catalog
retained; add project migration guidance and correct command
catalog/defaults. Do not misclassify the bundled skill as a companion
tool. |
| #1735 | microsoft/aspire#20334 — @karolz-ms | **Excluded:** enhanced
startup errors are not in the audited release; no verified backport. |
| #1731 | microsoft/aspire#19847 → microsoft/aspire#20391 — @eerhardt |
**Corrected/adopted:** in-process NuGet and real authenticated-restore
troubleshooting, not cache-command authentication. |
| #1719 | microsoft/aspire#20299 → microsoft/aspire#20407 — @JamesNK |
**Corrected/adopted:** cookie naming/scoping; identical names can
collide but do not guarantee cross-dashboard cookie decryptability or
shared sign-in. |
| #1664 | microsoft/aspire#20011 — @maddymontaquila | **Adopted:**
concise Azure environment icon release note. |
| #1628 | microsoft/aspire#17742 — @davidfowl | **Adapted/expanded:**
canonical Toolbox examples, consumer contract, role/index prerequisites,
approval/security and concurrency limits. |
| #1623 | microsoft/aspire#19810 — @mitchdenny | **Already covered:**
current Sandbox guide/article already describe compute inference,
explicit selection and external endpoints. Preserve that guidance while
removing obsolete suppressions. |
| #1620 | microsoft/aspire#19243 — @sebastienros | **Adapted:** AKS
credential-before-Helm cleanup and destructive-operation warning; omit
misleading ambient-context workaround. |
| #1614 | microsoft/aspire#19870 — @sebastienros | **Adopted:** typed
callback handle behavior in extension authoring and article. |
| #1574 | microsoft/aspire#19430 — @mitchdenny | **Adapted:** canonical
hostname inheritance, explicit-host precedence, catch-all default
backend. |
| #1570 | microsoft/aspire#19590 — @karolz-ms | **Adopted:** Dev Tunnel
URL regression troubleshooting. |
| #1565 | microsoft/aspire#19429 — @mitchdenny | **Corrected/adopted:**
Helm embedded parameters with real `refExpr` and `addParameter(name, {
value })`, not stringifying a handle or using an invalid actual-SDK
overload. |
| #1564 | microsoft/aspire#19026 — @karolz-ms | **Corrected/adopted:**
C#/TypeScript Dotnet gateway walkthrough. Retain both experimental
diagnostics; remove obsolete run-only restriction after
microsoft/aspire#19997 publishing support. Avoid imported ambiguous API
reference. |
| #1499 | microsoft/aspire#19248 — @IEvangelist | **Adopted:** describe
exact secret-value redaction and embedded-secret limit; release article
already covered the fix. |

### Important source-verified corrections to proposals / earlier audit
assumptions

-
[`BlazorGatewayExtensions.cs`](https://github.com/microsoft/aspire/blob/e8fd6fbb954f50ccd2e66479538392f65e13e71d/src/Aspire.Hosting.Blazor/BlazorGatewayExtensions.cs):
`AddDotnetProjectBlazorGateway` and the Dotnet `WithBlazorClientApp`
overload still carry `ASPIREDOTNETPROJECT001`; the class carries
`ASPIREBLAZOR001`. They share `WithBlazorClientAppCore`/`WithBlazorApp`
and the publish-companion path. Thus neither blanket diagnostic
retirement nor the proposal's old run-only claim is correct.
-
[`SkillDefinition.cs`](https://github.com/microsoft/aspire/blob/e8fd6fbb954f50ccd2e66479538392f65e13e71d/src/Aspire.Cli/Agents/SkillDefinition.cs)
sets bundled skills' `IsDefault=true`;
[`AgentInitCommand.cs`](https://github.com/microsoft/aspire/blob/e8fd6fbb954f50ccd2e66479538392f65e13e71d/src/Aspire.Cli/Commands/AgentInitCommand.cs)
selects the applicable catalog defaults for both flows. MCP has its own
standalone-only binding.
-
[`TypeScriptAppHostToolchainResolver.cs`](https://github.com/microsoft/aspire/blob/e8fd6fbb954f50ccd2e66479538392f65e13e71d/src/Aspire.Cli/Projects/TypeScriptAppHostToolchainResolver.cs)
is the source for Deno flags and certificate variable; guest Deno
hosting is separate.
- [`Radius
README`](https://github.com/microsoft/aspire/blob/e8fd6fbb954f50ccd2e66479538392f65e13e71d/src/Aspire.Hosting.Radius/README.md)
supplies the resource-specific credential rules and publish diagnostics,
not assumptions about local endpoints.

## Third-party links and affiliations

<!-- List third-party links and disclose material affiliations. -->

Links point to official Microsoft Learn, VS Code Marketplace debugger
extensions, Rust/Cargo/Bacon documentation, Radius documentation, and
source repositories. No sponsorship, commercial endorsement, or
affiliation claim is introduced. Maintainers should supply any personal
affiliation disclosure required by policy; automation has not inferred
one.

## Validation

<!-- List the checks you ran or explain why validation isn't needed. -->

- **97 passing focused unit checks** across API-reference
authoring/rendering, Twoslash blocks, file-tree formatting, CLI
configuration schema, SEO lengths, and resource catalog.
- **82 passing structured-data checks**, including exact integration
mapping uniqueness and page resolution.
- **11 C# samples compile**, zero warnings/errors, using genuine
`13.6.0-preview.1.26473.12` packages. Scope: Rust, Connector Namespace,
Radius, Toolbox, inline CSI, Helm, Blazor gateway, and provisioning.
`Projects.Api/Worker/Client` use compile-only `IProjectMetadata`
stand-ins; no claim of running those apps or provisioning cloud
resources.
- **10 TypeScript samples pass `tsc`** under `strict`, `NodeNext`, and
`ES2022` against three **unmodified actual SDK files**, not just the
site's declaration bundle. The fixture uses the exact `e8fd6fbb` release
`AtsCapabilityScanner` and genuine `26473.12`
TypeSystem/code-generator/integration binaries, whose informational
source is `a11eca96`. This is an isolated local generation fixture,
**not** a claim that official CLI generation or a new packaged release
was tested. An attempted restore with the older handed-off local CLI
could not discover an AppHost server; the bounded direct generator
fixture was used instead.
- The SDK scan is **not globally warning-free**: it reports a Radius
`withContainerImage` collision on `CSharpAppResource` and an App
Configuration `createRoleAssignment` overload collision. None of the
compiled examples calls those colliding methods; the warnings are
retained in evidence, not suppressed, and no generated declarations were
edited.
- Browser: Connector Namespace, Radius, both Rust pages, Foundry
hosting, and What's new return **HTTP 200**, correct headings, and no
rendered Twoslash errors. New guide/article page-local anchors and the
cross-page Blazor anchor resolve. Connector/Radius mobile layouts have
no horizontal overflow; Connector language-tab interaction works.
Standalone Astro preview emits expected `/api/live` 404s because
StaticHost is not running.
- `git diff --check` passes. No production `pnpm build`, cloud
deployment, REPL runtime session, full product suite, or blanket
validation of every pre-existing example was performed.
- Generated C#/TypeScript API data, declaration bundles, integration
catalogs, image catalogs, and contributor data are unchanged. Only the
authored package-to-guide mapping is updated.

**Before merging:** complete the two packaging/REPL checkboxes above,
inspect CI, and obtain human review. This PR intentionally does not
close or merge the source documentation proposals.

---------

Co-authored-by: David Pine <7679720+IEvangelist@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@karolz-ms

Copy link
Copy Markdown
Contributor

Copilot resolve the merge conflicts in this pull request

…-35925696288-1-37d39c9f33ab17cb

# Conflicts:
#	src/frontend/src/content/docs/integrations/dotnet/project-resources.mdx

Co-authored-by: karolz-ms <15271049+karolz-ms@users.noreply.github.com>

Copilot AI commented Sep 28, 2026

Copy link
Copy Markdown
Contributor

Copilot resolve the merge conflicts in this pull request

Merge conflicts resolved in 010f363 by merging release/13.6 into this branch.

Resolution details:

  • project-resources.mdx: kept the release/13.6 wording of the "Migrate from legacy project resources" section (equivalent content, already on the base branch).
  • aspire-skills.mdx: removed the duplicate aspire-project-v2-migration row from the "Companion skills and tools" table, since the base branch already documents the skill in the "Aspire workflow skills" table — which also addresses the miscategorization feedback.

The merged tree is now identical to release/13.6, so this PR no longer carries any remaining diff.

@karolz-ms

Copy link
Copy Markdown
Contributor

No outstanding changes, so closing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs-from-code Copilot initiated issue from dotnet/aspire repo

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants