agentleFS
CommunityToolkitCommunityToolkit/Aspire/.agents/skills/aspire-upgrade/SKILL.md

aspire-upgrade

Skill632 starsChanged 5 days agoMITView on GitHub

Update the Aspire version in the repository to the latest nightly build.

The file

We split this skill into the rules it gives an agent

7 rules. About 0 are common, 0 are distinctive, and 7 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈0

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 7

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Update the following values in the root Directory.Build.props file:

    line 28
  2. Very specific:

    When using a nightly build, we want to blank out the AspirePreviewSuffix to avoid confusion with the actual preview versions.

    line 38
  3. Very specific:

    Search the repository for all .csproj files that reference Aspire.AppHost.Sdk.

    line 50
  4. Very specific:

    Search the entire repository for all aspire.config.json files (typically under examples/ in directories ending with .AppHost.TypeScript).

    line 57
  5. Very specific:

    Use a command like find . -name "aspire.config.json" to locate all files, then update the "version" value inside the "sdk" object in each …

    line 61
  6. Very specific:

    Run dotnet restore at the repository root to verify the new version resolves correctly.

    line 65
  7. Very specific:

    After all changes are made and validated, create a pull request with the title "Update Aspire version to X.Y.Z" where X.Y.Z is the full …

    line 69

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

aspire-upgrade

The target version prefix is 17.0.

aspire-upgrade

You are responsible for updating the Aspire version in our repo to the latest nightly build.

You are to use the NuGet feed https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet9/nuget/v3/index.json

Look for the latest nightly version that starts with the target version prefix above. To do this, you will need to use the .NET CLI package search feature with the --prerelease and --exact-match flags (and probably best to specify the feed with --source to avoid confusion with any stable versions from nuget.org). Query for the Aspire.AppHost.Sdk package as it is a dependency of all our AppHost projects and will be the most reliable way to find the correct version string.

Here is an example command to find the latest version:

dotnet package search Aspire.AppHost.Sdk --prerelease --exact-match --source https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet9/nuget/v3/index.json --format json

Parse the result for the latest version that matches the target version prefix. This will be the version you update to in the next steps.

Step 1: Update Directory.Build.props

Update the following values in the root Directory.Build.props file:

<AspireMajorVersion>MAJOR_VERSION</AspireMajorVersion>
<AspireVersion>$(AspireMajorVersion).MINOR_VERSION.PATCH_VERSION-PREVIEW_VERSION</AspireVersion>
<AspirePreviewSuffix></AspirePreviewSuffix>

Where MAJOR_VERSION, MINOR_VERSION, PATCH_VERSION, and PREVIEW_VERSION are the respective parts of the version you found.

When using a nightly build, we want to blank out the AspirePreviewSuffix to avoid confusion with the actual preview versions.

Step 2: Configure the AppHost SDK version in global.json

Set the Aspire.AppHost.Sdk version in the root global.json under msbuild-sdks. This keeps the SDK package version in one place while preserving the standard project SDK reference.

"msbuild-sdks": {
  "Aspire.AppHost.Sdk": "VERSION"
}

Search the repository for all .csproj files that reference Aspire.AppHost.Sdk. Each AppHost project should use the standard SDK reference with no version in the project file:

<Project Sdk="Aspire.AppHost.Sdk">

Step 3: Update TypeScript AppHost aspire.config.json files

Search the entire repository for all aspire.config.json files (typically under examples/ in directories ending with .AppHost.TypeScript). Each file has an sdk.version field that must be updated to the new version.

The sdk.version value should be the full version string (e.g., 17.0.0-preview.1.26528.13).

Use a command like find . -name "aspire.config.json" to locate all files, then update the "version" value inside the "sdk" object in each one.

Step 4: Validate the changes

Run dotnet restore at the repository root to verify the new version resolves correctly. Fix any errors before proceeding.

Step 5: Create a pull request

After all changes are made and validated, create a pull request with the title "Update Aspire version to X.Y.Z" where X.Y.Z is the full version you updated to.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.