[Aspire extension] Phase 1: Validate Aspire CLI integration contracts
- Dominant language
- Go
- Stars
- 569
- Forks
- 364
- Avg merge
- 2d 19h
- Merged PRs (30d)
- 136
Description
Parent epic: #9479
Depends on the baseline established in Phase 0.
## Objective
Validate the Aspire CLI as the supported integration boundary for the `microsoft.azd.aspire` extension.
## Investigations
- Detect AppHosts with `aspire ls --format json` and `aspire.config.json`.
- Select AppHosts deterministically with `--apphost`.
- Exercise `publish`, `deploy`, `destroy`, `do`, `describe`, and `doctor` in non-interactive mode.
- Evaluate JSON/NDJSON output stability, progress streaming, exit codes, structured failures, cancellation, and timeouts.
- Determine minimum Aspire CLI versions and capability detection.
- Validate C#, TypeScript/JavaScript, and Python AppHosts.
- Determine how subscription, tenant, location, azd environment values, AppHost parameters, and secrets are supplied.
- Determine whether Aspire pipeline steps can map to separate azd package, provision, and deploy operations.
- Determine how generated infrastructure, endpoints, outputs, and deployment state can be exported or queried.
- Evaluate installation routes, cross-platform behavior, licensing, and telemetry interaction.
## Constraints
Do not build against internal Aspire JSON-RPC, ATS, DCP, or auxiliary backchannel protocols unless the Aspire team establishes them as supported public contracts.
## Deliverables
- A written integration contract and command mapping.
- A compatibility matrix by Aspire CLI version and AppHost language.
- Prototypes proving detection and at least one end-to-end deployment.
- Documented blockers requiring coordination with the Aspire team.
## Exit criteria
- We can decide which azd provider operation invokes which Aspire CLI operation.
- CI/no-prompt behavior and error handling are sufficiently defined to begin implementation.
Contributor guide
Assessment
This issue has not been assessed yet.