Azure / Azure/azure-dev

[Aspire extension] Phase 2: Add extension-driven application detection and initialization

Open
#9,485 0 comments 0 reactions 1 assignee Claimed by @vhvb1989 View on GitHub
area/aspire area/extensions area/project area/validation enhancement
Dominant language
Go
Stars
569
Forks
364
Avg merge
2d 19h
Merged PRs (30d)
136

Description

Parent epic: #9479

## Objective

Enable an extension to authoritatively detect and initialize applications before an `azure.yaml` exists.

## Problem

Host, framework, and provisioning providers are resolved from project configuration. `azd init` needs to discover the Aspire extension before that configuration exists, creating a bootstrap gap.

## Scope

- Design a reusable extension capability such as `application-detector-provider` or `project-initializer-provider`.
- Allow providers to return:
- Candidate project/AppHost paths.
- Project kind and language.
- Detection evidence and confidence.
- Required tools and minimum versions.
- A proposed service/project configuration.
- Confirmation data needed by the standard init UX.
- Add provider metadata and registry discovery support.
- Define interactive, no-prompt, offline, missing-extension, and conflicting-detector behavior.
- Keep only lightweight Aspire candidate recognition in core so azd can discover or install the extension.
- Have the Aspire provider use Aspire CLI discovery rather than duplicating language detection.

## Deliverables

- Extension protocol and SDK support.
- Core provider discovery and lifecycle integration.
- A demonstration provider and tests.
- Aspire extension integration producing `host: aspire` configuration.

## Exit criteria

- `azd init` can delegate Aspire detection and configuration generation to an installed extension.
- The capability is generic and usable by future ecosystems.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.