# 💻 Step 5: Implementation Reference - {project-name}

![Step](https://img.shields.io/badge/Step-5-blue?style=for-the-badge)
![Status](https://img.shields.io/badge/Status-Draft-orange?style=for-the-badge)
![Agent](https://img.shields.io/badge/Agent-Bicep%20Code-purple?style=for-the-badge)

<details open>
<summary><strong>📑 Implementation Reference</strong></summary>

- [📁 IaC Templates Location](#-iac-templates-location)
- [🗂️ File Structure](#-file-structure)
- [✅ Validation Status](#-validation-status)
- [🏗️ Resources Created](#-resources-created)
- [🚀 Deployment Instructions](#-deployment-instructions)
- [📝 Key Implementation Notes](#-key-implementation-notes)

</details>

> Generated by bicep-code agent | {date}

| ⬅️ Previous                                    | 📑 Index            | Next ➡️                                              |
| ---------------------------------------------- | ------------------- | ---------------------------------------------------- |
| [04-preflight-check.md](04-preflight-check.md) | [README](README.md) | [06-deployment-summary.md](06-deployment-summary.md) |

## 📁 IaC Templates Location

📁 **Code Location**: [`infra/bicep/{project-name}/`](../../infra/bicep/{project-name}/)

## 🗂️ File Structure

```text
infra/bicep/{project-name}/
├── main.bicep              # Main orchestration template
├── main.bicepparam         # Parameter file
├── deploy.ps1              # PowerShell deployment script
└── modules/
    └── {module}.bicep      # Resource modules
```

## ✅ Validation Status

| Check         | Result       | Details                    |
| ------------- | ------------ | -------------------------- |
| `bicep build` | ✅ / ❌      | {details or error message} |
| `bicep lint`  | ✅ / ⚠️ / ❌ | {details or warning count} |
| `what-if`     | ✅ / ❌      | {resource count or error}  |

## 🏗️ Resources Created

| Resource   | Bicep Type   | Module   |
| ---------- | ------------ | -------- |
| {resource} | {bicep-type} | {module} |

```mermaid
%%{init: {'theme':'neutral'}}%%
graph TD
    MAIN["main.bicep"] --> MOD1["{module1}"]
    MAIN --> MOD2["{module2}"]
    MOD1 --> R1["💻 {resource1}"]
    MOD2 --> R2["💾 {resource2}"]
    MOD2 --> R3["🌐 {resource3}"]
```

> Replace with actual module and resource names from generated Bicep.

## 🚀 Deployment Instructions

<details>
<summary><strong>🟢 Quick Deploy (PowerShell)</strong></summary>

```powershell
cd infra/bicep/{project-name}
./deploy.ps1
```

</details>

<details>
<summary><strong>🔍 Preview Changes (What-If)</strong></summary>

```powershell
./deploy.ps1 -WhatIf
```

</details>

<details>
<summary><strong>⚙️ Custom Parameters</strong></summary>

```powershell
./deploy.ps1 `
    -ResourceGroupName "rg-{project}-{env}" `
    -Location "{location}" `
    -Environment "{env}"
```

</details>

<details>
<summary><strong>🚀 Azure CLI</strong></summary>

```bash
az deployment group create \
  --resource-group "rg-{project}-{env}" \
  --template-file main.bicep \
  --parameters main.bicepparam
```

</details>

## 📝 Key Implementation Notes

| Note                                                 | Impact             | Reference     |
| ---------------------------------------------------- | ------------------ | ------------- |
| Unique suffix via `uniqueString(resourceGroup().id)` | All resource names | main.bicep    |
| {additional note}                                    | {impact area}      | {module/file} |

```bicep
var uniqueSuffix = uniqueString(resourceGroup().id)
// Example: {resource-prefix}-{suffix}
```

{additional-implementation-notes}

---

_Implementation reference generated from Bicep templates._

---

<div align="center">

| ⬅️ [04-preflight-check.md](04-preflight-check.md) | 🏠 [Project Index](README.md) | ➡️ [06-deployment-summary.md](06-deployment-summary.md) |
| ------------------------------------------------- | ----------------------------- | ------------------------------------------------------- |

</div>
