[docs] Document aspire-project-v2-migration skill - #1738
aspire-repo-bot[bot] wants to merge 2 commits into
Conversation
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>
Frontend HTML artifact readyThe latest frontend build uploaded the This comment updates automatically when a new frontend build artifact is uploaded. |
There was a problem hiding this comment.
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
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 | |
David Pine (IEvangelist)
left a comment
There was a problem hiding this comment.
🤖 Automated docs-accuracy review
Phase A source of truth: microsoft/aspire @ release/13.6 — SHA 8536cc330bfb6b335c2666f72ba5856a33a169c8
Claims extracted: 11 — ✅ 10 verified ·
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
LearnMoreblocks render (blind-user view). project-resources.mdximportsLearnMore(@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 onmain:SKILL.md,references,evals).
Warnings
- Categorization / naming smell (blind-user observable):
aspire-project-v2-migrationcarries theaspire-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--prefixedplaywright-clianddotnet-inspect. A reader may be unsure whether anaspire--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-skillsbundle or as a separate companion.
Recommendations
- Move the
aspire-project-v2-migrationrow into the "Aspire workflow skills" table — this resolves both the Phase A contradiction and the Phase B warning. - 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 | |
There was a problem hiding this comment.
❌ 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.jsonlists 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.
…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>
|
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>
Merge conflicts resolved in 010f363 by merging Resolution details:
The merged tree is now identical to |
|
No outstanding changes, so closing |

Documents changes from microsoft/aspire#20158
@karolz-msTarget branch
Targeting
release/13.6— the latest release branch onmicrosoft/aspire.dev— becauserelease/14.0(from the source PR milestone14.0) does not exist there.Why this PR is needed
Source PR microsoft/aspire#20158 embedded the official
microsoft/aspire-skillsv0.0.3 release into the Aspire CLI, which includes the newaspire-project-v2-migrationagent skill. The PR also added a short summary of this skill tosrc/Aspire.Hosting.Dotnet/README.md(a source-repo README, not a docs.aspire.dev page). No page onmicrosoft/aspire.devpreviously mentionedaspire-project-v2-migrationby 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 theaspire-project-v2-migrationskill: 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, customProjectResource-based integrations), and does not upgrade the AppHost's Aspire version itself.src/frontend/src/content/docs/get-started/aspire-skills.mdx— addedaspire-project-v2-migrationas a new row in the "Companion skills and tools" table, plus a short paragraph and aLearnMorecross-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.mdxsrc/frontend/src/content/docs/get-started/aspire-skills.mdx