Quickstart

Get running in 10 minutes.
Prerequisites
Section titled “Prerequisites”| Requirement | How to Get |
|---|---|
| ⭐ GitHub account | Sign up |
| ⭐ GitHub Copilot license | Business or Enterprise required — see plans |
| ⭐ GitHub fine-grained PAT | Required for devcontainer GitHub auth via GH_TOKEN |
| ⭐ VS Code | Download |
| ⭐ Docker Desktop | Download |
| Azure subscription | Optional — required only for Step 6 deployment |
Step 1: Create Your Repository from the Template
Section titled “Step 1: Create Your Repository from the Template”- Go to the Accelerator template repository
- Click the green “Use this template” button → “Create a new repository”
- Choose an owner and repository name (e.g.
my-infraops-project) - Select Public or Private visibility
- Click Create repository
Step 2: Clone and Open
Section titled “Step 2: Clone and Open”Clone your new repository (not this upstream project):
git clone https://github.com/YOUR-USERNAME/my-infraops-project.git # (1)!code my-infraops-project- Replace
YOUR-USERNAME/my-infraops-projectwith your actual GitHub username and the repository name you chose in Step 1.
Step 3: Open in Dev Container
Section titled “Step 3: Open in Dev Container”- Press
F1(orCtrl+Shift+P) - Type:
Dev Containers: Reopen in Container - Wait 3-5 minutes for setup
The Dev Container installs all tools automatically:
- Azure CLI + Bicep CLI
- Terraform CLI + TFLint
- PowerShell 7
- Python 3 + diagrams library
- Go (Terraform MCP server)
apex-recallCLI (session recall)- Comprehensive set of VS Code extensions
Step 4: Set Up Azure (Optional)
Section titled “Step 4: Set Up Azure (Optional)”If you plan to deploy to Azure or run the governance baseline workflow, configure your Azure environment with a single command:
npm run setupThis creates an Entra ID app registration, OIDC federated credentials, RBAC roles, and GitHub secrets/variables. See Azure Setup for details and manual alternatives.
Step 5: Configure GH_TOKEN for the Dev Container
Section titled “Step 5: Configure GH_TOKEN for the Dev Container”This step is easy to miss, but it is required for reliable GitHub CLI and repository operations in the devcontainer.
- Create a fine-grained GitHub Personal Access Token
- Grant at least these permissions:
| Permission | Level |
|---|---|
| Contents | Read/Write |
| Metadata | Read |
| Pull requests | Read/Write |
| Issues | Read/Write |
| Workflows | Read/Write |
- Open VS Code User Settings (JSON)
- Add this entry and replace the placeholder token value:
"terminal.integrated.env.linux": { "GH_TOKEN": "github_pat_your_token_here" }- Rebuild the devcontainer:
F1→Dev Containers: Rebuild Container - Run
gh auth statusinside the container and confirm it shows a logged-in token-based session
See Dev Container Setup for the full explanation, screenshots, and token rotation guidance.
Step 6: Verify Setup
Section titled “Step 6: Verify Setup”gh auth statusaz --version && bicep --version && terraform --version && pwsh --version # (1)!gh auth statusshould show a token-backed login, and all four CLIs should print version numbers. If any fail, rebuild or reopen the dev container.
Step 7: Enable Subagent Orchestration
Section titled “Step 7: Enable Subagent Orchestration”Without this setting, the Orchestrator cannot delegate to specialized agents, so multi-step workflows will stall after the first response.
Add this to your VS Code User Settings (Ctrl+, → Settings JSON):
{ "chat.customAgentInSubagent.enabled": true // (1)!}- This must be in User Settings, not Workspace Settings. Experimental features require user-level configuration.
Why User Settings? Workspace settings exist in .vscode/settings.json, but user settings
take precedence for experimental features like subagent invocation.
Verify it’s enabled:
- Open Command Palette (
Ctrl+Shift+P) - Type:
Preferences: Open User Settings (JSON) - Confirm the setting is present
Step 8: Start the Orchestrator
Section titled “Step 8: Start the Orchestrator”Option A: Orchestrator (Recommended)
Section titled “Option A: Orchestrator (Recommended)”The Orchestrator (🧠 Orchestrator) orchestrates the complete multi-step workflow:
- Press
Ctrl+Shift+Ito open Copilot Chat - Select Orchestrator from the agent dropdown
- Describe your project:
Create a simple web app in Azure with:- App Service for web frontend- Azure SQL Database for data- Key Vault for secrets- Region: swedencentral- Environment: dev- Project name: my-webappThe Orchestrator guides you through all steps with approval gates.
Option B: Direct Agent Invocation
Section titled “Option B: Direct Agent Invocation”Invoke agents directly for specific tasks:
- Press
Ctrl+Shift+Ato open the agent picker - Select the specific agent (e.g.,
requirements) - Enter your prompt
Step 9: Follow the Workflow
Section titled “Step 9: Follow the Workflow”The agents work in sequence with handoffs. Steps 1-3.5 and 7 are shared;
steps 4-6 route to Bicep or Terraform agents based on your iac_tool selection
in Step 1. During requirements gathering, the Requirements agent asks which IaC tool
you prefer — this choice determines which planning, code generation, and deployment
agents the Orchestrator invokes.
Each agent has a thematic codename for easy reference in documentation and prompts.
| Step | Agent | Codename | What Happens |
|---|---|---|---|
| 1 | requirements | 📜 Scribe | Captures requirements |
| 2 | architect | 🏛️ Oracle | WAF assessment |
| 3 | design | 🎨 Artisan | Diagrams/ADRs (optional) |
| 3.5 | governance | 🛡️ Warden | Policy discovery/compliance |
| 4 | iac-planner | 📐 Strategist | Implementation plan |
| 5 | bicep-codegen / terraform-codegen | ⚒️ Forge | IaC templates |
| 6 | bicep-deploy / terraform-deploy | 🚀 Envoy | Azure deployment |
| 7 | as-built | 📚 Chronicler | Documentation suite |
Approval Gates: The Orchestrator pauses at key points:
- ⛔ Gate 1: After requirements (Step 1) — confirm requirements
- ⛔ Gate 2: After architecture (Step 2) — approve WAF assessment
- ⛔ Gate 2.5: After governance (Step 3.5) — approve governance constraints
- ⛔ Gate 3: After planning (Step 4) — approve implementation plan
- ⛔ Gate 4: After validation (Step 5) — approve preflight results
- ⛔ Gate 5: After deployment (Step 6) — verify resources
If a Step Fails
Section titled “If a Step Fails”- Governance returns no policies: continue if
04-governance-constraints.jsonshowsdiscovery_status: "COMPLETE". An empty policy list means no deny-effect constraints were found for that scope. - Pricing, auth, or tooling fails: fix the environment first, then resume the same step. Start with Troubleshooting and Dev Container Setup.
- Security or cost findings block progress: update the generated plan or code, then re-run the same step with the exact failing output so the agent can repair it.
Before you deploy, review the mandatory guidance in Security Baseline and Cost Governance.
What You’ve Created
Section titled “What You’ve Created”After completing the workflow:
agent-output/my-webapp/├── 01-requirements.md # Captured requirements (includes iac_tool)├── 02-architecture-assessment.md # WAF analysis├── 03-des-diagram.drawio # Optional Step 3 architecture diagram├── 04-implementation-plan.md # Phased plan├── 04-dependency-diagram.py # Step 4 dependency diagram├── 04-runtime-diagram.py # Step 4 runtime diagram├── 04-governance-constraints.md # Policy discovery├── 05-implementation-reference.md # Module inventory├── 06-deployment-summary.md # Deployed resources└── 07-*.md # Documentation suite
# Bicep track output:infra/bicep/my-webapp/├── main.bicep # Entry point├── main.bicepparam # Parameters└── modules/ ├── app-service.bicep ├── sql-database.bicep └── key-vault.bicep
# — OR — Terraform track output:infra/terraform/my-webapp/├── main.tf # Entry point├── variables.tf # Input variables├── outputs.tf # Outputs├── terraform.tfvars # Variable values└── modules/ ├── app-service/ ├── sql-database/ └── key-vault/Next Steps
Section titled “Next Steps”| Goal | Resource |
|---|---|
| Understand the full workflow | workflow.md |
| Try a guided hands-on challenge | MicroHack |
| Try a complete workflow | Prompt Guide |
| Review mandatory guardrails | Security Baseline and Cost Governance |
| Generate architecture diagrams | Use drawio skill (or python-diagrams for charts) |
| Create documentation | Use azure-artifacts skill |
| Explore Terraform patterns | Use terraform-patterns skill |
| Troubleshoot issues | troubleshooting.md |
| Contribute to the upstream repo | azure-agentic-infraops |
Quick Reference
Section titled “Quick Reference”Orchestrator (Orchestrated Workflow)
Section titled “Orchestrator (Orchestrated Workflow)”Ctrl+Shift+I → Orchestrator → Describe project → Follow gatesDirect Agent Invocation
Section titled “Direct Agent Invocation”Ctrl+Shift+A → Select agent → Type prompt → ApproveSkill Invocation
Section titled “Skill Invocation”Skills activate automatically based on your prompt:
- “Create an architecture diagram” →
drawio - “Generate an ADR” →
azure-adr - “Create workload documentation” →
azure-artifacts
Or invoke explicitly:
Use the drawio skill to create a diagram for my-webapp