FAQ
Frequently asked questions about Agentic InfraOps.
Jump to: General · IaC Tracks · Usage · Customization & Multi-Project · Troubleshooting
General
Section titled “General”This upstream repository (`azure-agentic-infraops`) is the source project. The Acceleratortemplate is the recommended starting point for new users.See the [Changelog](../project/changelog/) for release history and maturity indicators.Model versions evolve — check agent frontmatter for current selections.
You need an active **GitHub Copilot** license (Individual, Business, or Enterprise).**For deployment**: Yes. Step 6 (Deploy) requires an active Azure subscription withpermissions to create resources. Step 2 (Architecture) optionally uses the AzurePricing MCP server, which queries public pricing APIs and does not require a subscription.IaC Tracks
Section titled “IaC Tracks”| Factor | Bicep | Terraform || ------------------ | ---------------------------------------- | ------------------------------------------ || **Azure-only** | Native DSL, first-class Azure support | Multi-cloud, Azure via AzureRM provider || **State** | No state file (ARM-managed) | State file (Azure Storage backend) || **Learning curve** | Lower if you know ARM/Azure | Lower if you know HCL/multi-cloud || **AVM modules** | `br/public:avm/res/` | `registry.terraform.io/Azure/avm-res-*/` || **CI/CD** | `az deployment group create` | `terraform plan` + `terraform apply` |
The Requirements agent (Step 1) captures your `iac_tool` preference, and theConductor routes all subsequent steps to the correct track automatically.
See [How It Works](../concepts/how-it-works/) for a deeper comparison.- **GitHub Copilot** — cloud-hosted AI service- **MCP servers** — Azure MCP, Azure Pricing MCP, Excalidraw MCP, GitHub MCP, MS Learn MCP, and Terraform MCP servers provide real-time data to agents
The dev container itself runs locally, but agent conversations and MCP tool callsrequire internet connectivity.1. Copy an existing agent file as a template2. Update the frontmatter (name, description, model, tools, skills)3. Write the agent body with instructions4. Reload VS Code — the agent appears in the `Ctrl+Shift+A` picker
See [Contributing](../project/contributing/) for contribution guidelines and the[Agent and Skill Workflow](../concepts/workflow/) for how agents fit into the system.Agents are the actors in the multi-step workflow. Skills are reusable knowledge modulesthat agents load on demand. See the [Workflow](../concepts/workflow/) page for details.1. Open Copilot Chat and select **InfraOps Conductor**2. Say: *"Resume the workflow from where we left off. Check agent-output/{project}/ for existing artifacts."*3. The Conductor reads `00-session-state.json` and existing artifacts to determine which steps are complete, then continues from the next pending step.
See the [Quickstart](../../getting-started/quickstart/) for the full getting-started flow.Customization & Multi-Project
Section titled “Customization & Multi-Project”**Strategy A — Edit directly (simplest)**
Edit any file in place. If you never want upstream updates, disable the syncworkflow in **Repo Settings → Actions → Workflows → Disable "Upstream Sync"**.If you later re-enable sync, the workflow runs `git checkout upstream/main -- .`and then restores a fixed set of excluded paths. This is a **full overwrite, not amerge** — any edits outside the excluded paths will be lost and you will need tore-apply them.
**Strategy B — Override layer (recommended for teams)**
Keep sync enabled and layer your customizations in **sync-safe locations**.The sync workflow (`weekly-upstream-sync.yml`) preserves four paths by default:
| Excluded from sync (safe to edit) | Overwritten by sync (not safe without changes) || ----------------------------------- | ----------------------------------------------- || `agent-output/` | Root `AGENTS.md` || `infra/bicep/` | `infra/terraform/` || `.github/workflows/` | `.github/instructions/` || `README.md` | All skills in `.github/skills/` |
Strategy B override options:
- **Extend the exclusion list** — `.github/workflows/` is yours and is never overwritten. Open `weekly-upstream-sync.yml` and add paths (e.g. `AGENTS.md`, `infra/terraform`) to `EXCLUDE_PATHS` and the matching `for path in ...` restore loop. Once protected, use root `AGENTS.md` for project-wide overrides.- **`infra/bicep/AGENTS.md`** — Already excluded from sync. VS Code loads subfolder `AGENTS.md` files automatically for that directory tree, making it a reliable place for Bicep-specific or project-wide instructions without touching the root.- **VS Code user-profile instructions** — Create `.instructions.md` files in your VS Code profile's `prompts/` folder. These live entirely outside the repo and apply across all workspaces on your machine.
| Strategy | Approach | Best for || -------- | -------- | -------- || **A — Direct edit** | Edit in place; optionally disable sync | Solo developers; teams opting out of upstream updates || **B — Override layer** | Keep sync; extend `EXCLUDE_PATHS` or use sync-safe paths | Teams that want continuous upstream improvements |**One repo per project** is equally valid when teams need separate governance,permissions, or isolation. Each repo is created independently from the Acceleratortemplate with its own full copy of agents and skills.
Because the dev container definition lives inside the repo, separate repos giveeach project an independent dev container configuration — useful when projectsneed different tool versions or container images.
**Cross-team sharing across multiple repos:**
- **Extend the sync exclusion list** in each repo to protect `AGENTS.md`, then maintain a standard overrides section you copy into each new instance at setup time.- **VS Code user-profile instructions** — Personal preferences placed in your VS Code profile `prompts/` folder apply across all repos on your machine without any per-repo configuration.- **Team wiki or internal repo** — Keep a canonical overrides snippet (naming conventions, approved regions, required tags) and paste it into new instances as part of your project setup checklist.Troubleshooting
Section titled “Troubleshooting”```json{ "chat.customAgentInSubagent.enabled": true}```
See [Troubleshooting](../../guides/troubleshooting/#2-conductorsubagent-invocation-not-working-vs-code-1109)for detailed steps.See also: Troubleshooting · Prompt Guide · Glossary