Skip to content

FAQ

Frequently asked questions about Agentic InfraOps.

Jump to: General · IaC Tracks · Usage · Customization & Multi-Project · Troubleshooting


This upstream repository (`azure-agentic-infraops`) is the source project. The Accelerator
template 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 with
permissions to create resources. Step 2 (Architecture) optionally uses the Azure
Pricing MCP server, which queries public pricing APIs and does not require a subscription.

| 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 the
Conductor 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 calls
require internet connectivity.
1. Copy an existing agent file as a template
2. Update the frontmatter (name, description, model, tools, skills)
3. Write the agent body with instructions
4. 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 modules
that 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.

**Strategy A — Edit directly (simplest)**
Edit any file in place. If you never want upstream updates, disable the sync
workflow 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 a
merge** — any edits outside the excluded paths will be lost and you will need to
re-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 Accelerator
template with its own full copy of agents and skills.
Because the dev container definition lives inside the repo, separate repos give
each project an independent dev container configuration — useful when projects
need 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.

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