|
| 1 | +<h1 align="center">Azure Architecture Autopilot</h1> |
| 2 | + |
| 3 | +<p align="center"> |
| 4 | + <strong>Design β Diagram β Bicep β Deploy β all from natural language</strong> |
| 5 | +</p> |
| 6 | + |
| 7 | +<p align="center"> |
| 8 | + <img src="https://img.shields.io/badge/GitHub_Copilot-Skill-8957e5?logo=github" alt="Copilot Skill"> |
| 9 | + <img src="https://img.shields.io/badge/Azure-All_Services-0078D4?logo=microsoftazure&logoColor=white" alt="Azure"> |
| 10 | + <img src="https://img.shields.io/badge/Bicep-IaC-ff6f00" alt="Bicep"> |
| 11 | + <img src="https://img.shields.io/badge/70+-Service_Types-00bcf2" alt="Service Types"> |
| 12 | + <img src="https://img.shields.io/badge/License-MIT-green" alt="License"> |
| 13 | +</p> |
| 14 | + |
| 15 | +<p align="center"> |
| 16 | + <b>Azure Architecture Autopilot</b> designs Azure infrastructure from natural language,<br> |
| 17 | + generates interactive diagrams, produces modular Bicep templates, and deploys β all through conversation.<br> |
| 18 | + It also scans existing resources, visualizes them as architecture diagrams, and refines them on the fly. |
| 19 | +</p> |
| 20 | + |
| 21 | +<!-- Hero image: interactive architecture diagram with 605+ Azure icons --> |
| 22 | +<p align="center"> |
| 23 | + <img src="assets/06-architecture-diagram.png" width="100%" alt="Interactive Azure architecture diagram with 605+ official icons"> |
| 24 | +</p> |
| 25 | + |
| 26 | +<p align="center"> |
| 27 | + <em>β Auto-generated interactive diagram β drag, zoom, click for details, export to PNG</em> |
| 28 | +</p> |
| 29 | + |
| 30 | +<p align="center"> |
| 31 | + <img src="assets/08-deployment-succeeded.png" width="80%" alt="Deployment succeeded"> |
| 32 | + |
| 33 | + <img src="assets/07-azure-portal-resources.png" width="80%" alt="Azure Portal β deployed resources"> |
| 34 | +</p> |
| 35 | + |
| 36 | +<p align="center"> |
| 37 | + <em>β Real Azure resources deployed from the generated Bicep templates</em> |
| 38 | +</p> |
| 39 | + |
| 40 | +<p align="center"> |
| 41 | + <a href="#-how-it-works">How It Works</a> β’ |
| 42 | + <a href="#-features">Features</a> β’ |
| 43 | + <a href="#%EF%B8%8F-prerequisites">Prerequisites</a> β’ |
| 44 | + <a href="#-usage">Usage</a> β’ |
| 45 | + <a href="#-architecture">Architecture</a> |
| 46 | +</p> |
| 47 | + |
| 48 | +--- |
| 49 | + |
| 50 | +## π How It Works |
| 51 | + |
| 52 | +``` |
| 53 | +Path A: "Build me a RAG chatbot on Azure" |
| 54 | + β |
| 55 | + π¨ Design β π§ Bicep β β
Review β π Deploy |
| 56 | +
|
| 57 | +Path B: "Analyze my current Azure resources" |
| 58 | + β |
| 59 | + π Scan β π¨ Modify β π§ Bicep β β
Review β π Deploy |
| 60 | +``` |
| 61 | + |
| 62 | +| Phase | Role | What Happens | |
| 63 | +|:-----:|------|--------------| |
| 64 | +| **0** | π Scanner | Scans existing Azure resources via `az` CLI β auto-generates architecture diagram | |
| 65 | +| **1** | π¨ Advisor | Interactive design through conversation β asks targeted questions with smart defaults | |
| 66 | +| **2** | π§ Generator | Produces modular Bicep: `main.bicep` + `modules/*.bicep` + `.bicepparam` | |
| 67 | +| **3** | β
Reviewer | Compiles with `az bicep build`, checks security & best practices | |
| 68 | +| **4** | π Deployer | `validate` β `what-if` β preview diagram β `create` (5-step mandatory sequence) | |
| 69 | + |
| 70 | +--- |
| 71 | + |
| 72 | +## β¨ Features |
| 73 | + |
| 74 | +| | Feature | Description | |
| 75 | +|---|---------|-------------| |
| 76 | +| π¦ | **Zero Dependencies** | 605+ Azure icons bundled β no `pip install`, works offline | |
| 77 | +| π¨ | **Interactive Diagrams** | Drag-and-drop HTML with zoom, click details, PNG export | |
| 78 | +| π | **Resource Scanning** | Analyze existing Azure infra β auto-generate architecture diagrams | |
| 79 | +| π¬ | **Natural Language** | *"It's slow"*, *"reduce costs"*, *"add security"* β guided resolution | |
| 80 | +| π | **Live Verification** | API versions, SKUs, model availability fetched from MS Docs in real-time | |
| 81 | +| π | **Secure by Default** | Private Endpoints, RBAC, managed identity β no secrets in files | |
| 82 | +| β‘ | **Parallel Preload** | Next-phase info loaded while waiting for user input | |
| 83 | +| π | **Multi-Language** | Auto-detects user language β responds in English, Korean, or any language | |
| 84 | + |
| 85 | +--- |
| 86 | + |
| 87 | +## βοΈ Prerequisites |
| 88 | + |
| 89 | +| Tool | Required | Install | |
| 90 | +|------|:--------:|---------| |
| 91 | +| **GitHub Copilot CLI** | β
| [Install guide](https://docs.github.com/copilot/concepts/agents/about-copilot-cli) | |
| 92 | +| **Azure CLI** | β
| `winget install Microsoft.AzureCLI` / `brew install azure-cli` | |
| 93 | +| **Python 3.10+** | β
| `winget install Python.Python.3.12` / `brew install python` | |
| 94 | + |
| 95 | +> No additional packages required β the diagram engine is bundled in `scripts/`. |
| 96 | +
|
| 97 | +### π€ Recommended Models |
| 98 | + |
| 99 | +| | Models | Notes | |
| 100 | +|---|--------|-------| |
| 101 | +| π **Best** | Claude Opus 4.5 / 4.6 | Most reliable for all 5 phases | |
| 102 | +| β
**Recommended** | Claude Sonnet 4.5 / 4.6 | Best cost-performance balance | |
| 103 | +| β οΈ **Minimum** | Claude Sonnet 4, GPT-5.1+ | May skip steps in complex architectures | |
| 104 | + |
| 105 | +--- |
| 106 | + |
| 107 | +## π Usage |
| 108 | + |
| 109 | +### Path A β Build new infrastructure |
| 110 | + |
| 111 | +``` |
| 112 | +"Build a RAG chatbot with Foundry and AI Search" |
| 113 | +"Create a data platform with Databricks and ADLS Gen2" |
| 114 | +"Deploy Fabric + ADF pipeline with private endpoints" |
| 115 | +"Set up a microservices architecture with AKS and Cosmos DB" |
| 116 | +``` |
| 117 | + |
| 118 | +### Path B β Analyze & modify existing resources |
| 119 | + |
| 120 | +``` |
| 121 | +"Analyze my current Azure infrastructure" |
| 122 | +"Scan rg-production and show me the architecture" |
| 123 | +"What resources are in my subscription?" |
| 124 | +``` |
| 125 | + |
| 126 | +Then modify through conversation: |
| 127 | +``` |
| 128 | +"Add 3 VMs to this architecture" |
| 129 | +"The Foundry endpoint is slow β what can I do?" |
| 130 | +"Reduce costs β downgrade AI Search to Basic" |
| 131 | +"Add private endpoints to all services" |
| 132 | +``` |
| 133 | + |
| 134 | +### π Output Structure |
| 135 | + |
| 136 | +``` |
| 137 | +<project-name>/ |
| 138 | +βββ 00_arch_current.html β Scanned architecture (Path B) |
| 139 | +βββ 01_arch_diagram_draft.html β Design diagram |
| 140 | +βββ 02_arch_diagram_preview.html β What-if preview |
| 141 | +βββ 03_arch_diagram_result.html β Deployment result |
| 142 | +βββ main.bicep β Orchestration |
| 143 | +βββ main.bicepparam β Parameter values |
| 144 | +βββ modules/ |
| 145 | + βββ *.bicep β Per-service modules |
| 146 | +``` |
| 147 | + |
| 148 | +--- |
| 149 | + |
| 150 | +## π Architecture |
| 151 | + |
| 152 | +``` |
| 153 | +SKILL.md β Lightweight router (~170 lines) |
| 154 | +β |
| 155 | +βββ scripts/ β Embedded diagram engine |
| 156 | +β βββ generator.py β Interactive HTML generator |
| 157 | +β βββ icons.py β 605+ Azure icons (Base64 SVG) |
| 158 | +β βββ cli.py β CLI entry point |
| 159 | +β |
| 160 | +βββ references/ β Phase instructions + patterns |
| 161 | + βββ phase0-scanner.md β π Resource scanning |
| 162 | + βββ phase1-advisor.md β π¨ Architecture design |
| 163 | + βββ bicep-generator.md β π§ Bicep generation |
| 164 | + βββ bicep-reviewer.md β β
Code review |
| 165 | + βββ phase4-deployer.md β π Deployment pipeline |
| 166 | + βββ service-gotchas.md β Required properties & PE mappings |
| 167 | + βββ azure-common-patterns.md β Security & naming patterns |
| 168 | + βββ azure-dynamic-sources.md β MS Docs URL registry |
| 169 | + βββ architecture-guidance-sources.md |
| 170 | + βββ ai-data.md β AI/Data service domain pack |
| 171 | +``` |
| 172 | + |
| 173 | +> **Self-contained** β `SKILL.md` is a lightweight router. All phase logic lives in `references/`. The diagram engine is embedded in `scripts/` with no external dependencies. |
| 174 | +
|
| 175 | +--- |
| 176 | + |
| 177 | +## π Supported Services (70+ types) |
| 178 | + |
| 179 | +All Azure services supported. AI/Data services have optimized templates; others are auto-looked up from MS Docs. |
| 180 | + |
| 181 | +**Key types:** `ai_foundry` Β· `openai` Β· `ai_search` Β· `storage` Β· `adls` Β· `keyvault` Β· `fabric` Β· `databricks` Β· `aks` Β· `vm` Β· `app_service` Β· `function_app` Β· `cosmos_db` Β· `sql_server` Β· `postgresql` Β· `mysql` Β· `synapse` Β· `adf` Β· `apim` Β· `service_bus` Β· `logic_apps` Β· `event_grid` Β· `event_hub` Β· `container_apps` Β· `app_insights` Β· `log_analytics` Β· `firewall` Β· `front_door` Β· `load_balancer` Β· `expressroute` Β· `sentinel` Β· `redis` Β· `iot_hub` Β· `digital_twins` Β· `signalr` Β· `acr` Β· `bastion` Β· `vpn_gateway` Β· `data_explorer` Β· `document_intelligence` ... |
| 182 | + |
| 183 | + |
| 184 | +--- |
| 185 | + |
| 186 | +## π License |
| 187 | + |
| 188 | +MIT Β© [Jeonghoon Lee](https://github.com/whoniiii) |
0 commit comments