Azure IaC Starter is a workspace for generating and deploying Azure infrastructure using either Bicep or Terraform, with GitHub Copilot instructions, prompts, and tooling preconfigured to guide you through authoring, validating, and deploying IaC.
Choose one:
- Use Codespaces / Dev Container (recommended) — tools are preinstalled
- Local install: Azure CLI, plus either Bicep or Terraform
Also required:
- Azure Subscription
- Review the table below and the specific GitHub Copilot customizations used in this repo (located in
.github/and.vscode/mcp.json) to get an idea of how these pieces work together to help you write Infrastructure as Code.
| Type | Location | When Used | Scope | Best For / Use Cases |
|---|---|---|---|---|
| Repository Instructions | .github/copilot-instructions.md |
Every chat/edit session | Entire repository | Global repo conventions, coding standards, guardrails that apply everywhere |
| File/Path Instructions | .github/instructions/*.instructions.md |
Pattern/glob match (via applyTo frontmatter) |
Specific files or paths | Language-specific rules (e.g., **/*.bicep, **/*.tf), framework guidelines |
| Prompts | .github/prompts/*.prompt.md |
On-demand via / command |
Single task | Reusable prompt templates, common tasks, onboarding workflows |
| Agents | .github/agents/*.agent.md |
Invoked via Agent selector | Specialized persona | Domain experts; personas with specific knowledge/tools |
| Skills | .github/skills/<name>/SKILL.md |
Automatic by agent | Task-specific capability | Custom tools, API integrations, deployment checks, doc lookups |
| MCP Servers | mcp.json |
When configured & enabled | External tool integration | Connecting to external services (Azure, GitHub, databases, custom APIs) |
-
Run
az loginto authenticate to Azure and select your desired subscription. -
Run the prompt template by typing
/demo-vm iacLanguage:bicepor/demo-vm iacLanguage:terraforminto GitHub Copilot Chat -
Once GitHub Copilot has finished creating the IaC, you can ask it to run the deployment for you or follow the deployment instructions located in
infra/bicep/README.mdorinfra/terraform/README.md.
Try a challenge task to reinforce the workflow:
- Enable GitHub Copilot Coding Agent on your repo.
- Configure the Azure MCP Server for GitHub Copilot Coding Agent using the official instructions: https://learn.microsoft.com/en-us/azure/developer/azure-mcp-server/how-to/github-copilot-coding-agent#configure-the-github-repository-to-use-the-azure-mcp-server
- Re-run the prompt (or create your own) on github.com and let GitHub Copilot Coding Agent handle the task for you.