microsoft/AKS-Lab-GitHubCopilot
Captured source
source ↗microsoft/AKS-Lab-GitHubCopilot
Description: ZavaShop multi-agent retail demo on AKS + ACA. Specs, MCP servers, agents, tests, Bicep/Helm and CI are all authored by 6 GitHub Copilot Custom Coding Agents using Microsoft Agent Framework + Copilot SDK.
License: MIT
Stars: 0
Forks: 3
Open issues: 0
Created: 2026-05-14T13:27:28Z
Pushed: 2026-05-15T05:27:32Z
Default branch: main
Fork: no
Archived: no
README:
ZavaShop on AKS + ACA — built by GitHub Copilot Multi Custom Coding Agents

> A hands-on lab series that teaches you to deliver a multi-agent retail supply-chain solution end-to-end through a team of six GitHub Copilot Custom Coding Agents — from requirements through deployment. > Stack: Microsoft Agent Framework (MAF) + GitHub Copilot SDK (gpt-5.5) + AKS + Azure Container Apps.
---
🧭 What makes this lab different
Every artifact in this repo — specs, agent code, MCP servers, tests, Bicep, Helm, CI — is authored by a named GitHub Copilot Custom Coding Agent that owns one slice of the repo and carries its own tools, skills, and refusal rules.
The labs teach the operating model itself — not just the code. By the end you will have shipped ZavaShop *and* internalised a repeatable Copilot Custom Agent workflow you can take to any project.
┌─────────────────────── GitHub Copilot Multi Custom Agents ───────────────────────┐ │ │ Issue ─► /requirements-analyst ─► specs/.md │ │ │ ▼ │ /mcp-builder ───────► src/mcp_servers/* │ /agent-builder ─────► src/agents//* │ /orchestrator-architect ─► src/agents/orchestrator, src/shared, docker-compose │ │ │ ▼ │ /test-author ───────► tests/** (unit · integration · evals) │ │ │ ▼ │ /deploy-engineer ───► infra/** + .github/workflows/** + ACR/ACA/AKS rollout │ └──────────────────────────────────────────────────────────────────────────────────┘
Each agent is a file under [.github/agents/](.github/agents/) (*.agent.md). You invoke it by typing / in Copilot Chat. Three workflow prompts in [.github/prompts/](.github/prompts/) chain the agents together: /feature-from-issue, /spec-to-code, /ship-it.
---
🛍 The Story: ZavaShop
ZavaShop is a fast-growing global retailer with 500+ stores. Their supply chain runs on a mix of legacy ERPs, supplier portals, and ad-hoc spreadsheets. The Ops team wants an AI-native control plane — a fleet of cooperating agents that:
| Application Agent | Responsibility | |---|---| | InventoryAgent | Monitor stock-out risk across stores and warehouses | | SupplierAgent | Negotiate purchase orders with suppliers via MCP-backed tools | | LogisticsAgent | Plan shipments, track ETAs, re-route on disruption | | PricingAgent | Recommend dynamic pricing from demand + competitor signals | | OrchestratorAgent | The "store manager" — powered by the GitHub Copilot SDK, routes goals to the specialist agents |
The orchestrator runs as a long-lived service on AKS. The specialist agents run as event-driven workloads on ACA with KEDA scale-to-zero. All agents share a fleet of MCP servers that wrap ZavaShop's domain tools (inventory DB, supplier API, shipping API, pricing API).
┌────────────────────────────────────────────────────────────────┐ │ AKS (control plane) │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ OrchestratorAgent (GitHub Copilot SDK + MAF Workflow) │ │ │ └─────────┬────────────────────────────────────────────────┘ │ └─────────────┼──────────────────────────────────────────────────┘ │ A2A / HTTP ┌──────────┼──────────┬──────────────┬──────────────┐ ▼ ▼ ▼ ▼ ▼ ┌─────────┐┌─────────┐┌──────────┐┌────────────┐┌──────────┐ │Inventory││Supplier ││Logistics ││ Pricing ││ MCP │ │ ACA ││ ACA ││ ACA ││ ACA ││ Servers │ └─────────┘└─────────┘└──────────┘└────────────┘└──────────┘
Story arc across the labs
The five labs are five chapters of one story — ZavaShop going from a blank Azure subscription to a live, observable retail control plane:
| Lab | Chapter | What changes in ZavaShop's world | |---|---|---| | 01 | Day 0 — lay the foundation | The platform team provisions the loading docks (ACR), the shop floor (AKS), the bursty back-of-house (ACA), the safe (Key Vault), and the single staff badge (UAMI) that every worker will wear. | | 02 | Hire the specialists | Each business role becomes a typed MAF ChatAgent. Inventory, Supplier, Logistics, Pricing, and the Orchestrator are born — every external system kept behind an MCP server so the LLM never owns business state. | | 03 | Make them a team | The orchestrator stops being a one-shot LLM call and becomes a deterministic Workflow. Secrets leave .env and move into Key Vault. The whole fleet boots locally via Docker Compose so a /plan can be debugged end-to-end without the cloud. | | 04 | Earn trust before opening day | A four-layer test pyramid + five golden eval scenarios (S1–S5) pin the fleet's behaviour. The same uv run poe check runs in GitHub Actions, so even Copilot-authored PRs must pass the human bar. | | 05 | Open the store | /ship-it rolls the orchestrator to AKS behind a public LB with Workload Identity + CSI-mounted token, and the 8 specialist/MCP services to ACA with scale-to-zero. GitHub Actions OIDC re-runs the same pipeline on every main. |
> ⚠️ Don't confuse the two layers: > - Application agents (the table above) — the runtime ZavaShop fleet you deploy. > - GitHub Copilot Custom Coding Agents (/requirements-analyst etc.) — the dev-time team that *writes* the application agents for you.
---
👥 Meet the GitHub Copilot Custom Coding Agents
| Phase | Coding Agent | Owns | File | |---|---|---|---| | Requirements | /requirements-analyst | specs/*.md only — refuses to write code | [.github/agents/requirements-analyst.agent.md](.github/agents/requirements-analyst.agent.md) | | MCP impl | /mcp-builder | src/mcp_servers/* (one server per turn) | [.github/agents/mcp-builder.agent.md](.github/agents/mcp-builder.agent.md) | | Agent impl | /agent-builder | src/agents//* (one specialist per turn) | [.github/agents/agent-builder.agent.md](.github/agents/agent-builder.agent.md) | | Orchestration | /orchestrator-architect | src/agents/orchestrator/*, src/shared/*, docker-compose.yml | [.github/agents/orchestrator-architect.agent.md](.github/agents/orchestrator-architect.agent.md) | | Tests | /test-author | tests/** only — never edits src/ |…
Excerpt shown — open the source for the full document.
Notability
notability 2.0/10Routine educational repo, no traction.