# azure/azure-dev architecture

> Architecture diagram of the GitHub repository azure/azure-dev, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/azure/azure-dev
- Repository: https://github.com/azure/azure-dev

## Overview

Azure Developer CLI (azd) helps developers initialize, build, deploy, and operate Azure applications; its extensions add Azure AI agent, connection, dataset, and evaluation workflows. The main path starts with a developer invoking azd to deploy an application to Azure. Pipeline configuration is a distinct path that provisions pipeline authentication and connects source control to a CI provider. The tree and README support these product capabilities, but most command implementations were not sampled, so uncertain internal wiring is omitted.

Main entry points: [`cli/azd/extensions/azure.ai.agents/internal/cmd/root.go`](https://github.com/azure/azure-dev/blob/main/cli/azd/extensions/azure.ai.agents/internal/cmd/root.go) (Agents Extension), [`cli/azd/cmd/up.go`](https://github.com/azure/azure-dev/blob/main/cli/azd/cmd/up.go) (Build and Deploy), [`cli/azd/cmd/root.go`](https://github.com/azure/azure-dev/blob/main/cli/azd/cmd/root.go) (azd CLI), [`cli/azd/pkg/pipeline/pipeline_manager.go`](https://github.com/azure/azure-dev/blob/main/cli/azd/pkg/pipeline/pipeline_manager.go) (Pipeline Manager)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_cli["CLI Workflows"]
  node_cli_root["azd CLI<br/>[root.go]"]
  node_init["Project Init<br/>[init.go]"]
  node_up["Build and Deploy<br/>[up.go]"]
end

subgraph group_deployment["Application Deployment"]
  node_build["Build<br/>[build.go]"]
  node_infra["Infrastructure<br/>[infra.go]"]
  node_monitor["Operate and Monitor<br/>[monitor.go]"]
end

subgraph group_pipelines["Pipeline Setup"]
  node_pipeline_cmd["Pipeline Config<br/>[pipeline.go]"]
  node_pipeline_manager["Pipeline Manager"]
  node_pipeline_logic["Pipeline Providers<br/>[pipeline.go]"]
  node_vscode_pipeline["VS Code Pipeline Action<br/>[pipeline.ts]"]
end

subgraph group_agents["AI Agents"]
  node_agent_ext["Agents Extension<br/>[root.go]"]
  node_agent_init["Agent Project Setup<br/>[init.go]"]
  node_agent_publish["Agent Publish<br/>[publish.go]"]
  node_agent_invoke["Agent Invocation<br/>[invoke.go]"]
  node_agent_eval["Agent Evaluation<br/>[eval.go]"]
  node_agent_optimize["Agent Optimization<br/>[optimize.go]"]
end

subgraph group_ai_tools["AI Project Tools"]
  node_connections_ext["Connections Extension<br/>[root.go]"]
  node_dataset_ext["Dataset Extension<br/>[root.go]"]
  node_evaluations_ext["Evaluations Extension<br/>[root.go]"]
end

node_developer(("Developer"))
node_azure{{"Azure"}}
node_azdo{{"Azure DevOps"}}
node_vscode(("VS Code User"))
node_foundry{{"Azure AI Foundry"}}

node_developer -->|"invokes"| node_cli_root
node_cli_root -->|"dispatches"| node_init
node_cli_root -->|"dispatches"| node_up
node_up -->|"builds"| node_build
node_up -->|"deploys infrastructure"| node_infra
node_up -->|"deploys application"| node_azure
node_developer -->|"operates"| node_monitor
node_monitor -->|"monitors"| node_azure
node_developer -->|"configures"| node_pipeline_cmd
node_pipeline_cmd -->|"calls"| node_pipeline_manager
node_pipeline_manager -->|"uses providers"| node_pipeline_logic
node_pipeline_manager -->|"creates and queues"| node_azdo
node_vscode -->|"invokes"| node_vscode_pipeline
node_vscode_pipeline -->|"runs CLI"| node_pipeline_cmd
node_developer -->|"invokes"| node_agent_ext
node_agent_ext -->|"dispatches"| node_agent_init
node_agent_ext -->|"dispatches"| node_agent_publish
node_agent_ext -->|"dispatches"| node_agent_invoke
node_agent_ext -->|"dispatches"| node_agent_eval
node_agent_ext -->|"dispatches"| node_agent_optimize
node_agent_init -->|"sets up project"| node_foundry
node_agent_publish -->|"publishes to"| node_foundry
node_agent_invoke -->|"invokes agent"| node_foundry
node_agent_eval -->|"evaluates agent"| node_foundry
node_agent_optimize -->|"optimizes agent"| node_foundry
node_developer -->|"manages connections"| node_connections_ext
node_developer -->|"manages datasets"| node_dataset_ext
node_developer -->|"runs evaluations"| node_evaluations_ext

click node_cli_root "https://github.com/azure/azure-dev/blob/main/cli/azd/cmd/root.go"
click node_init "https://github.com/azure/azure-dev/blob/main/cli/azd/cmd/init.go"
click node_up "https://github.com/azure/azure-dev/blob/main/cli/azd/cmd/up.go"
click node_build "https://github.com/azure/azure-dev/blob/main/cli/azd/cmd/build.go"
click node_infra "https://github.com/azure/azure-dev/blob/main/cli/azd/cmd/infra.go"
click node_monitor "https://github.com/azure/azure-dev/blob/main/cli/azd/cmd/monitor.go"
click node_pipeline_cmd "https://github.com/azure/azure-dev/blob/main/cli/azd/cmd/pipeline.go"
click node_pipeline_manager "https://github.com/azure/azure-dev/blob/main/cli/azd/pkg/pipeline/pipeline_manager.go"
click node_pipeline_logic "https://github.com/azure/azure-dev/blob/main/cli/azd/pkg/pipeline/pipeline.go"
click node_vscode_pipeline "https://github.com/azure/azure-dev/blob/main/ext/vscode/src/commands/pipeline.ts"
click node_agent_ext "https://github.com/azure/azure-dev/blob/main/cli/azd/extensions/azure.ai.agents/internal/cmd/root.go"
click node_agent_init "https://github.com/azure/azure-dev/blob/main/cli/azd/extensions/azure.ai.agents/internal/cmd/init.go"
click node_agent_publish "https://github.com/azure/azure-dev/blob/main/cli/azd/extensions/azure.ai.agents/internal/cmd/publish.go"
click node_agent_invoke "https://github.com/azure/azure-dev/blob/main/cli/azd/extensions/azure.ai.agents/internal/cmd/invoke.go"
click node_agent_eval "https://github.com/azure/azure-dev/blob/main/cli/azd/extensions/azure.ai.agents/internal/cmd/eval.go"
click node_agent_optimize "https://github.com/azure/azure-dev/blob/main/cli/azd/extensions/azure.ai.agents/internal/cmd/optimize.go"
click node_connections_ext "https://github.com/azure/azure-dev/blob/main/cli/azd/extensions/azure.ai.connections/internal/cmd/root.go"
click node_dataset_ext "https://github.com/azure/azure-dev/blob/main/cli/azd/extensions/azure.ai.dataset/internal/cmd/root.go"
click node_evaluations_ext "https://github.com/azure/azure-dev/blob/main/cli/azd/extensions/azure.ai.evaluations/internal/cmd/root.go"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_cli_root,node_init,node_up,node_vscode toneBlue
class node_build,node_infra,node_monitor toneAmber
class node_pipeline_cmd,node_pipeline_manager,node_pipeline_logic,node_vscode_pipeline toneMint
class node_agent_ext,node_agent_init,node_agent_publish,node_agent_invoke,node_agent_eval,node_agent_optimize toneRose
class node_connections_ext,node_dataset_ext,node_evaluations_ext,node_developer,node_azure,node_azdo,node_foundry toneIndigo
```

## Components

### CLI Workflows

- [azd CLI](https://github.com/azure/azure-dev/blob/main/cli/azd/cmd/root.go): `cli/azd/cmd/root.go`
- [Project Init](https://github.com/azure/azure-dev/blob/main/cli/azd/cmd/init.go): `cli/azd/cmd/init.go`
- [Build and Deploy](https://github.com/azure/azure-dev/blob/main/cli/azd/cmd/up.go): `cli/azd/cmd/up.go`

### Application Deployment

- [Build](https://github.com/azure/azure-dev/blob/main/cli/azd/cmd/build.go): `cli/azd/cmd/build.go`
- [Infrastructure](https://github.com/azure/azure-dev/blob/main/cli/azd/cmd/infra.go): `cli/azd/cmd/infra.go`
- [Operate and Monitor](https://github.com/azure/azure-dev/blob/main/cli/azd/cmd/monitor.go): `cli/azd/cmd/monitor.go`

### Pipeline Setup

- [Pipeline Config](https://github.com/azure/azure-dev/blob/main/cli/azd/cmd/pipeline.go): `cli/azd/cmd/pipeline.go`
- [Pipeline Manager](https://github.com/azure/azure-dev/blob/main/cli/azd/pkg/pipeline/pipeline_manager.go): `cli/azd/pkg/pipeline/pipeline_manager.go`
- [Pipeline Providers](https://github.com/azure/azure-dev/blob/main/cli/azd/pkg/pipeline/pipeline.go): `cli/azd/pkg/pipeline/pipeline.go`
- [VS Code Pipeline Action](https://github.com/azure/azure-dev/blob/main/ext/vscode/src/commands/pipeline.ts): `ext/vscode/src/commands/pipeline.ts`

### AI Agents

- [Agents Extension](https://github.com/azure/azure-dev/blob/main/cli/azd/extensions/azure.ai.agents/internal/cmd/root.go): `cli/azd/extensions/azure.ai.agents/internal/cmd/root.go`
- [Agent Project Setup](https://github.com/azure/azure-dev/blob/main/cli/azd/extensions/azure.ai.agents/internal/cmd/init.go): `cli/azd/extensions/azure.ai.agents/internal/cmd/init.go`
- [Agent Publish](https://github.com/azure/azure-dev/blob/main/cli/azd/extensions/azure.ai.agents/internal/cmd/publish.go): `cli/azd/extensions/azure.ai.agents/internal/cmd/publish.go`
- [Agent Invocation](https://github.com/azure/azure-dev/blob/main/cli/azd/extensions/azure.ai.agents/internal/cmd/invoke.go): `cli/azd/extensions/azure.ai.agents/internal/cmd/invoke.go`
- [Agent Evaluation](https://github.com/azure/azure-dev/blob/main/cli/azd/extensions/azure.ai.agents/internal/cmd/eval.go): `cli/azd/extensions/azure.ai.agents/internal/cmd/eval.go`
- [Agent Optimization](https://github.com/azure/azure-dev/blob/main/cli/azd/extensions/azure.ai.agents/internal/cmd/optimize.go): `cli/azd/extensions/azure.ai.agents/internal/cmd/optimize.go`

### AI Project Tools

- [Connections Extension](https://github.com/azure/azure-dev/blob/main/cli/azd/extensions/azure.ai.connections/internal/cmd/root.go): `cli/azd/extensions/azure.ai.connections/internal/cmd/root.go`
- [Dataset Extension](https://github.com/azure/azure-dev/blob/main/cli/azd/extensions/azure.ai.dataset/internal/cmd/root.go): `cli/azd/extensions/azure.ai.dataset/internal/cmd/root.go`
- [Evaluations Extension](https://github.com/azure/azure-dev/blob/main/cli/azd/extensions/azure.ai.evaluations/internal/cmd/root.go): `cli/azd/extensions/azure.ai.evaluations/internal/cmd/root.go`

### Other components

- **Developer**
- **Azure**
- **Azure DevOps**
- **VS Code User**
- **Azure AI Foundry**

## Connections

- Developer → azd CLI: invokes
- azd CLI → Project Init: dispatches
- azd CLI → Build and Deploy: dispatches
- Build and Deploy → Build: builds
- Build and Deploy → Infrastructure: deploys infrastructure
- Build and Deploy → Azure: deploys application
- Developer → Operate and Monitor: operates
- Operate and Monitor → Azure: monitors
- Developer → Pipeline Config: configures
- Pipeline Config → Pipeline Manager: calls
- Pipeline Manager → Pipeline Providers: uses providers
- Pipeline Manager → Azure DevOps: creates and queues
- VS Code User → VS Code Pipeline Action: invokes
- VS Code Pipeline Action → Pipeline Config: runs CLI
- Developer → Agents Extension: invokes
- Agents Extension → Agent Project Setup: dispatches
- Agents Extension → Agent Publish: dispatches
- Agents Extension → Agent Invocation: dispatches
- Agents Extension → Agent Evaluation: dispatches
- Agents Extension → Agent Optimization: dispatches
- Agent Project Setup → Azure AI Foundry: sets up project
- Agent Publish → Azure AI Foundry: publishes to
- Agent Invocation → Azure AI Foundry: invokes agent
- Agent Evaluation → Azure AI Foundry: evaluates agent
- Agent Optimization → Azure AI Foundry: optimizes agent
- Developer → Connections Extension: manages connections
- Developer → Dataset Extension: manages datasets
- Developer → Evaluations Extension: runs evaluations
