Skip to content

Configure native agent plugins - #20946

Draft
Ella Hathaway (ellahathaway) wants to merge 6 commits into
mainfrom
ellahathaway-native-agent-plugin-setup
Draft

Ella Hathaway (ellahathaway) wants to merge 6 commits into
mainfrom
ellahathaway-native-agent-plugin-setup

Conversation

@ellahathaway

@ellahathaway Ella Hathaway (ellahathaway) commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

Description

Adds guided Aspire plugin setup for GitHub Copilot, Claude Code, and OpenCode through aspire agent init.

  • Choose Remote (plugin) or Embedded (bundled skill files) for the selected agents and project/global scope.
  • Add optional Aspire MCP access, Playwright CLI skills, or dotnet-inspect skills.
  • Adds a warning to review the plugin source before enabling it, plus a warning when local Aspire skills may override plugin-provided skills.

Policy-managed clients require manual plugin setup.

Fixes #20247.

Screenshots / Recordings

Setup (140 columns) Repeat setup (60 columns)
Agent setup with separate agent rows Agent setup with readable warnings in a narrow terminal

Validation

CLI/unit and E2E-project builds passed. Focused Windows and Linux runs cover settings preservation, concurrent content and permission changes, ACLs, linked files, and project overrides of global plugin enablement. Interactive output was previously checked at wide and narrow widths. macOS execution, WSL Bash tests, Linux E2E execution, and full-repository validation were not run.

Validation commands and results

CLI/unit and E2E-project builds were rerun for the permission fix: passed, zero warnings/errors. The localization refresh previously passed.

$env:MSBUILDTERMINALLOGGER = 'false'
dotnet build src\Aspire.Cli\Aspire.Cli.csproj --no-restore --target:UpdateXlf --nologo --verbosity quiet /p:SkipNativeBuild=true
dotnet build tests\Aspire.Cli.Tests\Aspire.Cli.Tests.csproj --no-restore --nologo --verbosity quiet /p:SkipNativeBuild=true --output artifacts\bin\Aspire.Cli.Tests.AgentUi\Debug\net11.0
dotnet build tests\Aspire.Cli.EndToEnd.Tests\Aspire.Cli.EndToEnd.Tests.csproj --no-restore --nologo --verbosity quiet /p:SkipNativeBuild=true --output artifacts\bin\Aspire.Cli.EndToEnd.Tests.AgentUi\Debug\net10.0

Windows regression run: passed, 1,335 passed / 0 failed / 11 platform or privilege skips. The unchanged Bash tests are excluded because they require WSL-compatible source paths.

$env:DOTNET_ROOT_ARM64 = 'C:\Program Files\dotnet'
$env:DiffEngine_Disabled = 'true'
$env:CI = 'true'
$env:GITHUB_ACTIONS = 'true'
$env:ASPIRE_CLI_TELEMETRY_OPTOUT = 'true'
$env:TESTINGPLATFORM_TELEMETRY_OPTOUT = 'true'
& 'C:\Program Files\dotnet\dotnet.exe' artifacts\bin\Aspire.Cli.Tests.AgentUi\Debug\net11.0\Aspire.Cli.Tests.dll --filter-class '*Agent*' --filter-class '*Mcp*' --filter-class '*.EmojiWidthTests' --filter-class '*.InitCommandTests' --filter-class '*.NewCommandTests' --filter-not-method '*.Bash_*' --filter-not-trait 'quarantined=true' --filter-not-trait 'outerloop=true'

Linux ARM64 (WSL), using the matching .NET 11 RC2 runtime: passed, 16 publication tests / 0 failed / 2 Windows-only skips; passed, 5 project-override command tests / 0 failed. The new regressions cover mode tightening and ACL revocation without changing file contents or, in the ACL case, the Unix mode.

$runtime = '/var/tmp/aspire-unix-dotnet.goZHJc'
$assembly = '/mnt/c/Users/ellahathaway/.copilot/repos/copilot-worktrees/aspire/ellahathaway-animated-engine/artifacts/bin/Aspire.Cli.Tests.AgentUi/Debug/net11.0/Aspire.Cli.Tests.dll'
& 'C:\Windows\system32\wsl.exe' --cd / --exec env "DOTNET_ROOT=$runtime" "DOTNET_ROOT_ARM64=$runtime" DiffEngine_Disabled=true CI=true GITHUB_ACTIONS=true ASPIRE_CLI_TELEMETRY_OPTOUT=true TESTINGPLATFORM_TELEMETRY_OPTOUT=true "$runtime/dotnet" exec $assembly --filter-class '*.AgentConfigurationPublicationTests' --filter-not-trait 'quarantined=true' --filter-not-trait 'outerloop=true'
& 'C:\Windows\system32\wsl.exe' --cd / --exec env "DOTNET_ROOT=$runtime" "DOTNET_ROOT_ARM64=$runtime" DiffEngine_Disabled=true CI=true GITHUB_ACTIONS=true ASPIRE_CLI_TELEMETRY_OPTOUT=true TESTINGPLATFORM_TELEMETRY_OPTOUT=true "$runtime/dotnet" exec $assembly --filter-method '*.Embedded_ProjectDisableOverridesGlobalEnablementWithoutChangingGlobalSetup' --filter-not-trait 'quarantined=true' --filter-not-trait 'outerloop=true'

Checklist

  • Is this feature complete?
    • Yes. Ready to ship.
    • No. Follow-up changes expected.
  • Are you including unit tests for the changes and scenario tests if relevant?
    • Yes
    • No
  • Did you add public API?
    • Yes
      • If yes, did you have an API Review for it?
        • Yes
        • No
      • Did you add <remarks /> and <code /> elements on your triple slash comments?
        • Yes
        • No
    • No
  • Does the change make any security assumptions or guarantees?
    • Yes
      • If yes, have you done a threat model and had a security review?
        • Yes
        • No
    • No

@github-actions

This comment has been minimized.

@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

@ellahathaway
Ella Hathaway (ellahathaway) force-pushed the ellahathaway-native-agent-plugin-setup branch from 1edda7d to 58b466b Compare October 13, 2026 21:16
@github-actions

Copy link
Copy Markdown
Contributor

🚀 Dogfood this PR with:

⚠️ WARNING: Do not do this without first carefully reviewing the code of this PR to satisfy yourself it is safe.

curl -fsSL https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 20946

Or

  • Run remotely in PowerShell:
iex "& { $(irm https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 20946"

@github-actions

This comment has been minimized.

@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

@ellahathaway
Ella Hathaway (ellahathaway) force-pushed the ellahathaway-native-agent-plugin-setup branch from 58b466b to 5082cef Compare October 14, 2026 18:25
@ellahathaway Ella Hathaway (ellahathaway) changed the title Configure native agent plugins and shared installation onboarding Configure native agent plugins Oct 14, 2026
@github-actions

This comment has been minimized.

@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

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.

Comment thread src/Aspire.Cli/Agents/AgentConfigurationEditor.cs Outdated
Comment thread src/Aspire.Cli/Agents/AgentConfigurationEditor.cs Outdated
Comment thread src/Aspire.Cli/Agents/OpenCode/OpenCodeAgentClient.cs Outdated
Comment thread src/Aspire.Cli/Commands/NewCommand.cs
@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

Simplify plugin setup wording, combine registration summaries by agent, preserve shared-configuration warnings, and improve warning icon spacing.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@github-actions

This comment has been minimized.

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.

Comment thread src/Aspire.Cli/Agents/AspireSkillsConfiguration.cs
Comment thread src/Aspire.Cli/Agents/LocalAspireSkills.cs Outdated
Comment thread src/Aspire.Cli/Commands/NewCommand.cs
Restore existing Playwright and dotnet-inspect labels and description formatting, simplify help, and cover non-interactive source selection.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@github-actions

This comment has been minimized.

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.

🔵 Needs a closer look

Unavailable OpenCode catalogs and incorrect plugin-state precedence prevent reliable agent setup.

14 open issues
2 previously missed issues

In code that hasn't changed since last review

Medium severity Default catalog URLs point to nonexistent opencode directory

src/​Aspire.Cli/​Agents/​AspireSkillsConfiguration.cs:21

Both default catalog URLs point into main/opencode/, but the published microsoft/aspire-skills main tree currently has no opencode/ directory. Fresh native OpenCode setup therefore reports success while registering a source that cannot supply Aspire skills. Publish the V1/V2 catalogs at these paths, or use an available supported catalog, before enabling this setup path. Verify that OpenCode can discover skills from the published source; the configuration snapshots alone do not establish that.

Medium severity First enabled entry ignores higher-precedence disable settings

src/​Aspire.Cli/​Agents/​AspireSkillsConfiguration.cs:29

Returning on the first enabled entry ignores higher-precedence disables. For example, if user settings enable Aspire but .claude/settings.local.json disables it, project-scoped embedded setup still fails with “The Aspire plugin is already enabled.” Both Claude Code and Copilot use this helper. Resolve effective activation using the client's settings precedence and requested installation scope before rejecting embedded setup, and add a user-true/project-false regression test.

1 file not reviewed
  • src/Aspire.Cli/Resources/AgentCommandStrings.Designer.cs: Generated file

Review effort: Balanced

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@github-actions

This comment has been minimized.

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.

🔵 Needs a closer look

The embedded-source conflict check ignores higher-precedence project disables and rejects valid project-scoped setup.

3 open issues
1 previously missed issue

In code that hasn't changed since last review

Medium severity Honor project overrides when resolving plugin enablement

src/​Aspire.Cli/​Agents/​AspireSkillsConfiguration.cs:29

With ~/.copilot/settings.json enabling aspire@aspire-skills and the project's .github/copilot/settings.json disabling it, project-scoped Embedded setup is still rejected: this helper returns on the user-level true before reading the project override. The plugin is disabled for this project, so the conflict message's advice to disable it does not unblock setup. Resolve effective enablement using the client's precedence rules and selected scope before rejecting Embedded setup. Add a regression that enables the plugin globally, disables it in the project, and successfully installs embedded skills only in that project.

11 resolved since last review
1 file not reviewed
  • src/Aspire.Cli/Resources/AgentCommandStrings.Designer.cs: Generated file

Review effort: Balanced

Revalidate observed settings and policy fragments under a shared lease, then publish permission-preserving atomic replacements for plugin, MCP and hook settings. Resolve effective plugin enablement for the selected scope and add focused regression coverage.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

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.

🟡 Changes recommended

Unix publication can restore stale permissions after a concurrent restriction, potentially exposing credential-bearing settings.

1 open issue
3 resolved since last review
1 file not reviewed
  • src/Aspire.Cli/Resources/AgentCommandStrings.Designer.cs: Generated file

Review effort: Balanced

Comment thread src/Aspire.Cli/Agents/AgentConfigurationFile.cs Outdated
@github-actions

This comment has been minimized.

@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@github-actions

Copy link
Copy Markdown
Contributor

Tests selector

3 / 100 PR test projects · 4 PR jobs, from 76 changed files.

Selected PR test projects (3 / 100)

Aspire.Cli.EndToEnd.Tests, Aspire.Cli.Tests, Infrastructure.Tests

Selected PR jobs (4)

cli-starter-validation, extension-e2e, polyglot, typescript-api-compat


How these were chosen — grouped by what changed

📦 affected project Aspire.Cli
→ 1 test: Aspire.Cli.EndToEnd.Tests

🔧 src/Aspire.Cli/Resources/AgentCommandStrings.resx (changed source)
→ 1 directly: Infrastructure.Tests

🧪 tests/Aspire.Cli.EndToEnd.Tests/AgentCommandTests.cs (changed test)
→ 1 directly: Aspire.Cli.EndToEnd.Tests

🧪 tests/Aspire.Cli.EndToEnd.Tests/NewWithAgentInitTests.cs (changed test)
→ 1 directly: Aspire.Cli.EndToEnd.Tests

🧪 tests/Aspire.Cli.Tests/Agents/AgentConfigurationJsonTests.cs (changed test)
→ 1 directly: Aspire.Cli.Tests

🧪 tests/Aspire.Cli.Tests/Agents/AgentConfigurationPublicationTests.cs (changed test)
→ 1 directly: Aspire.Cli.Tests

🧪 tests/Aspire.Cli.Tests/Agents/AgentConfigurationTestContext.cs (changed test)
→ 1 directly: Aspire.Cli.Tests

🧪 tests/Aspire.Cli.Tests/Agents/AgentPathTests.cs (changed test)
→ 1 directly: Aspire.Cli.Tests

🧪 tests/Aspire.Cli.Tests/Agents/CommonAgentApplicatorsTests.cs (changed test)
→ 1 directly: Aspire.Cli.Tests

🧪 tests/Aspire.Cli.Tests/Agents/LocalAspireSkillsTests.cs (changed test)
→ 1 directly: Aspire.Cli.Tests

🧪 tests/Aspire.Cli.Tests/Agents/NativeAgentConfigurationTests.cs (changed test)
→ 1 directly: Aspire.Cli.Tests

🧪 tests/Aspire.Cli.Tests/Agents/NativePluginRegistrationTests.cs (changed test)
→ 1 directly: Aspire.Cli.Tests

🧪 tests/Aspire.Cli.Tests/Agents/OpenCodeConfigurationTests.cs (changed test)
→ 1 directly: Aspire.Cli.Tests

🧪 tests/Aspire.Cli.Tests/Agents/PlaywrightCliInstallerTests.cs (changed test)
→ 1 directly: Aspire.Cli.Tests

🧪 tests/Aspire.Cli.Tests/Commands/AgentInitClientSelectionTests.cs (changed test)
→ 1 directly: Aspire.Cli.Tests

🧪 tests/Aspire.Cli.Tests/Commands/AgentInitCommandTests.cs (changed test)
→ 1 directly: Aspire.Cli.Tests

🧪 tests/Aspire.Cli.Tests/Commands/InitCommandTests.cs (changed test)
→ 1 directly: Aspire.Cli.Tests

🧪 tests/Aspire.Cli.Tests/Commands/NewCommandTests.cs (changed test)
→ 1 directly: Aspire.Cli.Tests

🧪 tests/Aspire.Cli.Tests/Interaction/ConsoleInteractionServiceTests.cs (changed test)
→ 1 directly: Aspire.Cli.Tests

🧪 tests/Aspire.Cli.Tests/Snapshots/AgentInitClientSelectionTests.AgentInit_DuplicateClientsAndSharedDestinations_AreReportedOnce.verified.txt (changed test)
→ 1 directly: Aspire.Cli.Tests

🧪 tests/Aspire.Cli.Tests/Snapshots/InitCommandTests.InitCommand_Help_ShowsFileBasedOption.verified.txt (changed test)
→ 1 directly: Aspire.Cli.Tests

🧪 tests/Aspire.Cli.Tests/Snapshots/NativeAgentConfigurationTests.Claude_PreservesPinsPreferencesAndExistingBytes.verified.json (changed test)
→ 1 directly: Aspire.Cli.Tests

🧪 tests/Aspire.Cli.Tests/Snapshots/NativeAgentConfigurationTests.Copilot_RegistersOneSharedSourcePerScope.verified.json (changed test)
→ 1 directly: Aspire.Cli.Tests

🧪 tests/Aspire.Cli.Tests/Snapshots/OpenCodeConfigurationTests.ExistingV2Jsonc_EstablishesTheSchemaWithoutVersionDetection.verified.json (changed test)
→ 1 directly: Aspire.Cli.Tests

🧪 tests/Aspire.Cli.Tests/Snapshots/OpenCodeConfigurationTests.FreshUndetectedClient_RegistersOnlyTheStableV1Catalog.verified.json (changed test)
→ 1 directly: Aspire.Cli.Tests

🧪 tests/Aspire.Cli.Tests/Snapshots/OpenCodeConfigurationTests.JsoncSelection_PreservesInheritedCatalogPinsAndUnrelatedMcp.verified.json (changed test)
→ 1 directly: Aspire.Cli.Tests

🧪 tests/Aspire.Cli.Tests/Snapshots/OpenCodeConfigurationTests.McpEdit_DocumentPrecedenceOutranksServerRepresentation_nativeHigher=False.verified.json (changed test)
→ 1 directly: Aspire.Cli.Tests

🧪 tests/Aspire.Cli.Tests/Snapshots/OpenCodeConfigurationTests.McpEdit_DocumentPrecedenceOutranksServerRepresentation_nativeHigher=True.verified.json (changed test)
→ 1 directly: Aspire.Cli.Tests

🧪 tests/Aspire.Cli.Tests/Snapshots/OpenCodeConfigurationTests.McpEdit_LegacyServerNamedServers_IsNotTreatedAsANativeContainer.verified.json (changed test)
→ 1 directly: Aspire.Cli.Tests

🧪 tests/Aspire.Cli.Tests/Snapshots/OpenCodeConfigurationTests.McpEdit_NewNativeServer_UsesExistingContainerWithoutInterpretingSkills.verified.json (changed test)
→ 1 directly: Aspire.Cli.Tests

🧪 tests/Aspire.Cli.Tests/TestServices/FakePlaywrightServices.cs (changed test)
→ 1 directly: Aspire.Cli.Tests

🧪 tests/Aspire.Cli.Tests/TestServices/InterceptingAgentClient.cs (changed test)
→ 1 directly: Aspire.Cli.Tests

🧪 tests/Aspire.Cli.Tests/TestServices/InterceptingStringJsonConverter.cs (changed test)
→ 1 directly: Aspire.Cli.Tests

🧪 tests/Aspire.Cli.Tests/TestServices/TestInteractionService.cs (changed test)
→ 1 directly: Aspire.Cli.Tests

🧪 tests/Aspire.Cli.Tests/TestServices/TestPosixAcl.cs (changed test)
→ 1 directly: Aspire.Cli.Tests

🧪 tests/Aspire.Cli.Tests/Utils/CliTestHelper.cs (changed test)
→ 1 directly: Aspire.Cli.Tests

🧪 tests/Aspire.Cli.Tests/Utils/EmojiWidthTests.cs (changed test)
→ 1 directly: Aspire.Cli.Tests

Job reasons

Job Triggered by
cli-starter-validation affected project Aspire.Cli
extension-e2e • src/Aspire.Cli/Agents/AgentClient.cs, src/Aspire.Cli/Agents/AgentConfigurationEditor.cs, src/Aspire.Cli/Agents/AgentConfigurationFile.cs, src/Aspire.Cli/Agents/AgentConfigurationJson.cs, src/Aspire.Cli/Agents/AgentConfigurationReadContext.cs, src/Aspire.Cli/Agents/AgentEnvironment.cs, src/Aspire.Cli/Agents/AgentEnvironmentScanContext.cs, src/Aspire.Cli/Agents/AgentPath.cs, src/Aspire.Cli/Agents/AspireSkillsConfiguration.cs, src/Aspire.Cli/Agents/ClaudeCode/ClaudeCodeAgentClient.cs, src/Aspire.Cli/Agents/ClaudeCode/ClaudeCodePaths.cs, src/Aspire.Cli/Agents/Copilot/CopilotAgentClient.cs, src/Aspire.Cli/Agents/Hooks/TelemetryHookConfigurator.cs, src/Aspire.Cli/Agents/IAgentClient.cs, src/Aspire.Cli/Agents/LocalAspireSkills.cs, src/Aspire.Cli/Agents/McpConfigFileHelper.cs, src/Aspire.Cli/Agents/OpenCode/OpenCodeAgentClient.cs, src/Aspire.Cli/Agents/OpenCode/OpenCodePaths.cs, src/Aspire.Cli/Agents/Playwright/PlaywrightCliInstaller.cs, src/Aspire.Cli/Commands/AgentInitCommand.cs, src/Aspire.Cli/Commands/InitCommand.cs, src/Aspire.Cli/Commands/McpInitCommand.cs, src/Aspire.Cli/Commands/NewCommand.cs, src/Aspire.Cli/Program.cs, src/Aspire.Cli/Projects/AppHostCandidateFinder.cs, src/Aspire.Cli/Resources/AgentCommandStrings.Designer.cs, src/Aspire.Cli/Resources/AgentCommandStrings.resx, src/Aspire.Cli/Resources/xlf/AgentCommandStrings.cs.xlf, src/Aspire.Cli/Resources/xlf/AgentCommandStrings.de.xlf, src/Aspire.Cli/Resources/xlf/AgentCommandStrings.es.xlf, src/Aspire.Cli/Resources/xlf/AgentCommandStrings.fr.xlf, src/Aspire.Cli/Resources/xlf/AgentCommandStrings.it.xlf, src/Aspire.Cli/Resources/xlf/AgentCommandStrings.ja.xlf, src/Aspire.Cli/Resources/xlf/AgentCommandStrings.ko.xlf, src/Aspire.Cli/Resources/xlf/AgentCommandStrings.pl.xlf, src/Aspire.Cli/Resources/xlf/AgentCommandStrings.pt-BR.xlf, src/Aspire.Cli/Resources/xlf/AgentCommandStrings.ru.xlf, src/Aspire.Cli/Resources/xlf/AgentCommandStrings.tr.xlf, src/Aspire.Cli/Resources/xlf/AgentCommandStrings.zh-Hans.xlf, src/Aspire.Cli/Resources/xlf/AgentCommandStrings.zh-Hant.xlf, src/Aspire.Cli/Utils/ConsoleHelpers.cs
• affected project Aspire.Cli
polyglot affected project Aspire.Cli
typescript-api-compat affected project Aspire.Cli

Selection computed for commit a230b5a.

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.

🔵 Needs a closer look

Security-sensitive cross-platform publication needs human review, with macOS unvalidated and Alpine executable-path compatibility unresolved.

1 open issue
1 resolved since last review
1 file not reviewed
  • src/Aspire.Cli/Resources/AgentCommandStrings.Designer.cs: Generated file

Review effort: Balanced

return await RunMetadataToolAsync("/bin/ls", ["-lnde", path], path, cancellationToken);
}

var metadata = await RunMetadataToolAsync("/usr/bin/stat", ["-c", "%u:%g:%a", path], path, cancellationToken);
@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

This branch has not been deployed

No deployments
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.

Redesign agent init around independent assets and selected clients

2 participants