|
| 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