Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
138 commits
Select commit Hold shift + click to select a range
87ac4f1
Add GitHub Actions workflow for AKS deployment and configure client/s…
sombaner Aug 21, 2025
c74025a
Implement memory leak debugging tool and load testing scripts
sombaner Aug 21, 2025
ea032f8
Enable debug endpoints in server deployment configuration
sombaner Aug 21, 2025
3a50b93
Fix debug endpoint registration to ensure it is always registered
sombaner Aug 21, 2025
2d52fb4
Add MemoryLeakTool component and enable debug endpoints in server con…
sombaner Aug 21, 2025
4ce3acb
Initial plan
Copilot Aug 26, 2025
2e7649a
Split deploy-aks.yml into separate server and client workflows
Copilot Aug 26, 2025
9f14edc
Merge pull request #3 from sombaner/copilot/fix-2
sombaner Aug 26, 2025
6eeda50
Create AGENTS.md
sombaner Aug 26, 2025
039988c
Create AGENTS.md
sombaner Aug 26, 2025
2880fa2
Create AGENTS.md
sombaner Aug 26, 2025
bfcbb4f
Initial plan
Copilot Aug 26, 2025
4e6a698
Implement comprehensive end-to-end tests with API and UI integration
Copilot Aug 26, 2025
8ae7bbe
Merge pull request #5 from sombaner/copilot/fix-4
sombaner Aug 26, 2025
5c1c83b
Update AGENTS.md
sombaner Aug 28, 2025
3050436
Update AGENTS.md
sombaner Aug 28, 2025
b2a8b80
Initial plan
Copilot Aug 28, 2025
8e603e5
Fix Memory Leak Tool alignment and button layout issues
Copilot Aug 28, 2025
b5d0a57
Merge pull request #7 from sombaner/copilot/fix-6
sombaner Aug 28, 2025
6a93185
Add weekly-research workflow
sombaner Sep 2, 2025
2794808
Add daily test improver
sombaner Sep 2, 2025
aa5a50d
Add workflow: githubnext/agentics/update-docs
sombaner Sep 3, 2025
86e2250
Merge pull request #10 from sombaner/add-workflow-githubnext-agentics…
sombaner Sep 3, 2025
af8e292
Initial plan
Copilot Oct 26, 2025
c6406cb
Fix workflow permission to allow disabling workflow
Copilot Oct 26, 2025
9f37532
Merge pull request #17 from sombaner/copilot/fix-safety-check-job
sombaner Oct 27, 2025
2b5a662
Create detailed documentation instructions
sombaner Nov 18, 2025
d6577b6
Create documentation instructions for bookstore-supreme
sombaner Nov 18, 2025
053f52f
Add name and description to Documenter agent
sombaner Nov 18, 2025
73ad11a
Fix formatting of Documenter agent name
sombaner Nov 18, 2025
f45c272
feat: Add templates for checklist, plan, spec, and tasks for feature …
sombaner Dec 6, 2025
8324678
Add research and tasks documentation for AKS deployment automation
sombaner Dec 6, 2025
603a2e5
Initial plan
Copilot Dec 6, 2025
efa206d
Complete Phase 1 and Phase 2: Terraform foundation and K8s manifests
Copilot Dec 6, 2025
16124da
Complete Phases 1-5: Infrastructure, workflows, and documentation
Copilot Dec 6, 2025
b211492
Complete Phase 6: Architecture documentation and final polish
Copilot Dec 6, 2025
fc1eee3
Merge pull request #19 from sombaner/copilot/start-implementation-in-…
sombaner Dec 6, 2025
76bfdf4
Merge pull request #20 from sombaner/001-aks-deployment-automation
sombaner Dec 6, 2025
29155f7
Initial plan
Copilot Dec 6, 2025
21c4503
Fix Azure OIDC authentication error by removing environment designation
Copilot Dec 6, 2025
1c516d5
Improve consistency in documentation placeholders
Copilot Dec 6, 2025
81a4961
Merge pull request #22 from sombaner/copilot/fix-azure-cli-login-error
sombaner Dec 6, 2025
73730e9
Initial plan
Copilot Dec 6, 2025
b4768da
Add Terraform backend validation and fix Azure setup guide
Copilot Dec 6, 2025
a258f97
Add comprehensive Terraform backend fix documentation
Copilot Dec 6, 2025
670833b
Merge pull request #23 from sombaner/copilot/fix-terraform-storage-ac…
sombaner Dec 6, 2025
9ecdf32
Initial plan
Copilot Jan 2, 2026
382f920
Fix namespace mismatch in GitHub Actions workflows
Copilot Jan 2, 2026
12bb156
Merge pull request #26 from sombaner/copilot/fix-deploy-client-workflow
sombaner Jan 2, 2026
eb49051
Initial plan
Copilot Jan 3, 2026
f1a868f
Update K8s deployments to use GHCR images and remove imagePullSecrets
Copilot Jan 3, 2026
d0952b9
Simplify workflows and add deployment instructions
Copilot Jan 3, 2026
307534e
Add detailed summary of changes and next steps
Copilot Jan 3, 2026
055f877
Merge pull request #28 from sombaner/copilot/update-image-names-in-de…
sombaner Jan 3, 2026
5b4e274
Initial plan
Copilot Feb 20, 2026
71dd341
Initial plan for issue triage agentic workflow
Copilot Feb 20, 2026
3a61da3
Add issue-triage agentic workflow with compiled lock file
Copilot Feb 20, 2026
46f5eaa
Merge pull request #50 from sombaner/copilot/create-triage-issues-wor…
sombaner Feb 20, 2026
9ae6ab9
Initial plan
Copilot Feb 21, 2026
14dbb5d
feat: add CI Doctor daily report GitHub Agentic Workflow
Copilot Feb 21, 2026
3e531ab
Merge pull request #55 from sombaner/copilot/create-github-agentic-wo…
sombaner Feb 21, 2026
c6b7beb
Update CI Daily Report workflow name
sombaner Feb 21, 2026
b897e15
Initial plan
Copilot Feb 22, 2026
d92d75c
Add CI Issue Trigger agentic workflow for deployment failure analysis
Copilot Feb 22, 2026
7841da3
Merge pull request #58 from sombaner/copilot/create-ci-issue-trigger-…
sombaner Feb 23, 2026
1ead0e8
Fix artifact name for client manifests upload
sombaner Feb 23, 2026
900744e
Simplify condition for activation job
sombaner Feb 23, 2026
efe491c
Create platform-sre-kubernetes.agent.md for SRE guidance
sombaner Feb 23, 2026
9209b01
Fix typo in artifact name for client manifests
sombaner Feb 23, 2026
1663043
Fix: Use GHCR images in k8s manifests and remove imagePullSecrets
sombaner Feb 23, 2026
6a8110f
Trigger Actions: Build and Deploy Client/Server to AKS
sombaner Feb 23, 2026
f9f19ef
chore(ci): trigger AKS deploy workflows - scheduled health check
sombaner Feb 24, 2026
df6417b
chore(ci): automated trigger for AKS client/server deploys (cluster s…
sombaner Feb 26, 2026
d0f9fd5
Scheduled task: trigger Tailspin Client/Server deploy workflows (AKS …
sombaner Feb 27, 2026
e74232e
Trigger AKS deploy workflows due to AKS cluster Stopped state at 2026…
sombaner Feb 28, 2026
19b5f2a
chore: trigger AKS deploy workflows (client & server) due to AKS clus…
sombaner Mar 1, 2026
5ec79d3
Align k8s images with GHCR, remove pull secrets; ensure public images…
sombaner Mar 2, 2026
4114d92
chore(scheduled): trigger client AKS deploy via manifest touch; no fu…
sombaner Mar 2, 2026
70b5180
chore(scheduled): trigger server AKS deploy via manifest touch; no fu…
sombaner Mar 2, 2026
41d9888
chore(sre): scheduled trigger to retrun client AKS deploy workflow (2…
sombaner Mar 2, 2026
19c5577
chore(sre): scheduled trigger to retrun server AKS deploy workflow (2…
sombaner Mar 2, 2026
c3dd3ff
chore: SRE trigger — re-touch client manifest to re-run AKS deploy
sombaner Mar 2, 2026
e0e1061
chore: SRE trigger — re-touch server manifest to re-run AKS deploy
sombaner Mar 2, 2026
971adcb
chore(sre): scheduled trigger to re-run client AKS deploy (2026-03-02…
sombaner Mar 2, 2026
d3abe17
chore(sre): scheduled trigger to re-run server AKS deploy (2026-03-02…
sombaner Mar 2, 2026
9d4dc28
fix(sre): correct server service targetPort and ensure valid manifest…
sombaner Mar 2, 2026
04c0e26
SRE: re-trigger AKS deploy workflows by touching k8s manifests (2026-…
sombaner Mar 2, 2026
e20a4bc
chore: retrigger client AKS deploy (SRE auto-trigger 2026-03-02 09:46…
sombaner Mar 2, 2026
acf7075
chore: retrigger server AKS deploy (SRE auto-trigger 2026-03-02 09:47…
sombaner Mar 2, 2026
24b41a9
SRE: Retrigger AKS client/server deploy workflows (public GHCR images)
sombaner Mar 2, 2026
62d9bba
SRE: Retrigger AKS client/server deploy workflows (touch k8s manifest…
sombaner Mar 2, 2026
7bba0de
SRE: Retrigger AKS client/server deploy workflows — touch manifests (…
sombaner Mar 2, 2026
f7bd73d
chore: retrigger AKS deploy workflows (SRE touch 2026-03-02T10:05Z)
sombaner Mar 2, 2026
02cba58
Revise Copilot instructions for coding and testing standards
sombaner Mar 2, 2026
f71e143
Initial plan
Copilot Mar 2, 2026
4b8e498
Initial plan for search and support comment features
Copilot Mar 2, 2026
1ada223
Add search query parameter to GET /api/games endpoint with tests
Copilot Mar 2, 2026
2e862da
Add search bar to GameList and support comment textbox to GameDetails…
Copilot Mar 2, 2026
b64cfce
Use string concatenation instead of f-string in ilike filter for clarity
Copilot Mar 2, 2026
d7ca6f7
Update client/e2e-tests/games.spec.ts
sombaner Mar 2, 2026
7e6d355
Update server/routes/games.py
sombaner Mar 2, 2026
4e33ddd
Merge pull request #98 from sombaner/copilot/add-search-functionality
sombaner Mar 2, 2026
c9c78be
SRE: Retrigger AKS client deploy workflow (timestamped touch)
sombaner Mar 3, 2026
f1d0bf2
SRE: Retrigger AKS server deploy workflow (timestamped touch)
sombaner Mar 3, 2026
9dba893
SRE: Retrigger AKS deployments for Tailspin client/server
sombaner Mar 3, 2026
cebd77a
SRE: touch to trigger Client AKS deploy workflow (2026-03-03T09:12:37Z)
sombaner Mar 3, 2026
8740f32
SRE: touch to trigger Server AKS deploy workflow (2026-03-03T09:13:20Z)
sombaner Mar 3, 2026
f0b00ef
SRE: touch k8s manifests to retrigger AKS deploy workflows (public GH…
sombaner Mar 3, 2026
044dcfe
SRE: Retrigger AKS deploy workflows (touch manifests) - 2026-03-04
sombaner Mar 4, 2026
6a1f1db
SRE: Fix GHCR image names for client/server to ghcr.io/sombaner/tails…
sombaner Mar 4, 2026
e10b3c4
SRE: Retrigger AKS deploys
sombaner Mar 4, 2026
2aa84a5
sre: fix GHCR image replacements in deploy workflows (client/server)
sombaner Mar 4, 2026
3948dd2
sre: retrigger AKS deploys for client and server (touch manifests)
sombaner Mar 4, 2026
15abf97
SRE: Daily AKS verification retrigger (2026-03-04)
sombaner Mar 4, 2026
5df0830
SRE: Daily AKS verification retrigger (2026-03-04)
sombaner Mar 4, 2026
00a722e
chore(sre): retrigger AKS deploy and align image refs for SHA rendering
sombaner Mar 6, 2026
5618e52
chore(sre): retrigger AKS deploys and align image refs for SHA rendering
sombaner Mar 6, 2026
958b1a2
chore(sre): retrigger AKS deploys for client/server and align image refs
sombaner Mar 6, 2026
cafb8b0
chore(sre): fix GHCR images in k8s manifests and retrigger AKS deploys
sombaner Mar 6, 2026
85faaf6
SRE: Retrigger AKS deploys (2026-03-07)
sombaner Mar 7, 2026
9980c01
SRE: Retrigger AKS deploys (2026-03-07 09:12 UTC)
sombaner Mar 7, 2026
7f45a81
SRE: Retrigger AKS deploys (2026-03-07 09:18 UTC)
sombaner Mar 7, 2026
39e4300
SRE: Fix GHCR image refs and retrigger AKS deploys (2026-03-08)
sombaner Mar 8, 2026
4d6e825
SRE: Retrigger AKS deploys by touching manifests (2026-03-08) (#163)
sombaner Mar 8, 2026
9e40396
SRE: Retrigger AKS deploys by touching manifests (2026-03-08 09:12 UTC)
sombaner Mar 8, 2026
1d65898
SRE retrigger: touch client manifest (2026-03-08T09:18:55Z)
sombaner Mar 8, 2026
c6a8ed1
SRE retrigger: touch server manifest (2026-03-08T09:19:35Z)
sombaner Mar 8, 2026
ca65989
SRE: Retrigger AKS deploys by touching manifests (2026-03-08 09:19 UTC)
sombaner Mar 8, 2026
21ad267
SRE: Retrigger AKS client/server deploys (touch manifests)
sombaner Mar 8, 2026
d581ab3
SRE: Fix image refs and retrigger AKS deploys (2026-03-10)
sombaner Mar 10, 2026
614f266
SRE: Public GHCR images; trigger AKS deploys (2026-03-11)
sombaner Mar 11, 2026
7d25057
SRE: Retrigger AKS deploys for client/server (2026-03-11 09:21 UTC)
sombaner Mar 11, 2026
6c4c77c
SRE: Fix server resources key; add post-deploy AKS health checks
sombaner Mar 11, 2026
83eb785
SRE: daily 09:00 UTC retrigger for AKS client/server deploys (2026-03…
sombaner Mar 12, 2026
6bdf372
add multiple text game support
sombaner Mar 12, 2026
bc7d7c6
Add sorting by popularity, release date, and user rating
sombaner Mar 17, 2026
29e3c79
Add skill for listing pull requests assigned to the user
sombaner Mar 17, 2026
b6c26fa
Add review functionality with API endpoints and UI component
sombaner Mar 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .entire/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
tmp/
settings.local.json
metadata/
logs/
4 changes: 4 additions & 0 deletions .entire/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"enabled": true,
"telemetry": true
}
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.github/workflows/*.lock.yml linguist-generated=true merge=ours
96 changes: 96 additions & 0 deletions .github/agents/Documenter.agent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
---
# Fill in the fields below to create a basic custom agent for your repository.
# The Copilot CLI can be used for local testing: https://gh.io/customagents/cli
# To make this agent available, merge this file into the default repository branch.
# For format details, see: https://gh.io/customagents/config

name: Documenter
description: Documentation agent
---

# i want to create a detailed instruction for documentation of this repository - [[https://github.com/sombaner/bookstore-supreme](https://github.com/sombaner/tailspin-toystore)]([https://github.com/sombaner/bookstore-supreme](https://github.com/sombaner/tailspin-toystore)) . Please provide a detailed instructions guide in markdown format to document the below repository., only provide instructions

Here are detailed instructions in Markdown format for documenting the `Tailspin-toystore` repository:

***

# Documentation Instructions for bookstore-supreme

## Repository Overview

- Create a section titled **Overview** that briefly describes the purpose of the repository.
- Mention that it is a nidejs based project with a Jetty web server and a simple bookstore servlet.
- Note that the project can be built into a container and deployed as an Azure Web App.


## Features and Workflows

- List all the main features provided by the repository:
- Pull Request builds and tests using Maven and Docker.
- CodeQL scanning on each push.
- Container scanning for security findings.
- Deployment to review environments (test, qa, staging) using PR labels.
- Automatic destruction of Azure review environments when PRs are closed.
- Continuous Delivery to the `prod` Azure Web App on commits to the `main` branch.


## Running the Application Locally

- Provide step-by-step instructions for running the application locally:
- Build the project using `mvn package`.
- Run the artifacts
- Mention the default port (8080) and how to access the web server.


## Running in a Docker Container

- Document the steps for building and running the application in a Docker container:
- Build the project with `mvn package`.
- Build the Docker image with `docker build . --build-arg VERSION=1.0.0-SNAPSHOT --tag bookstore:latest`.
- Run the container with `docker run -p 8080:8080 bookstore:latest`.
- Note the default port binding.


## GitHub Codespaces

- Explain how to use GitHub Codespaces for development:
- Mention the pre-configured container with Maven, JDK, and Azure CLI.
- List the available tasks: `docker: build container` and `docker: run container`.
- Provide instructions for running these tasks.


## Workflow Diagram

- Describe how to create a flow diagram for the Actions' workflows.
- Include triggers, events, and the different Azure environments spun up during the demo.


## Documentation Structure

- Organize the documentation into the following sections:
- Overview
- Features and Workflows
- Running Locally
- Running in Docker
- GitHub Codespaces
- Workflow Diagram
- Additional Resources (link to `/docs` folder)


## Additional Resources

- Reference the `/docs` folder for step-by-step guides:
- GHAS Demo
- Platform Demo
- Azure Demo


## License

- Mention the MIT license and provide a link to the license file.


## Contributing

- Add a section on how to contribute to the repository.
- Include a link to the contributing guidelines.
46 changes: 46 additions & 0 deletions .github/agents/azure-verified-modules-bicep.agent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
---
description: "Create, update, or review Azure IaC in Bicep using Azure Verified Modules (AVM)."
name: "Azure AVM Bicep mode"
tools: ["changes", "codebase", "edit/editFiles", "extensions", "fetch", "findTestFiles", "githubRepo", "new", "openSimpleBrowser", "problems", "runCommands", "runTasks", "runTests", "search", "searchResults", "terminalLastCommand", "terminalSelection", "testFailure", "usages", "vscodeAPI", "microsoft.docs.mcp", "azure_get_deployment_best_practices", "azure_get_schema_for_Bicep"]
---

# Azure AVM Bicep mode

Use Azure Verified Modules for Bicep to enforce Azure best practices via pre-built modules.

## Discover modules

- AVM Index: `https://azure.github.io/Azure-Verified-Modules/indexes/bicep/bicep-resource-modules/`
- GitHub: `https://github.com/Azure/bicep-registry-modules/tree/main/avm/`

## Usage

- **Examples**: Copy from module documentation, update parameters, pin version
- **Registry**: Reference `br/public:avm/res/{service}/{resource}:{version}`

## Versioning

- MCR Endpoint: `https://mcr.microsoft.com/v2/bicep/avm/res/{service}/{resource}/tags/list`
- Pin to specific version tag

## Sources

- GitHub: `https://github.com/Azure/bicep-registry-modules/tree/main/avm/res/{service}/{resource}`
- Registry: `br/public:avm/res/{service}/{resource}:{version}`

## Naming conventions

- Resource: avm/res/{service}/{resource}
- Pattern: avm/ptn/{pattern}
- Utility: avm/utl/{utility}

## Best practices

- Always use AVM modules where available
- Pin module versions
- Start with official examples
- Review module parameters and outputs
- Always run `bicep lint` after making changes
- Use `azure_get_deployment_best_practices` tool for deployment guidance
- Use `azure_get_schema_for_Bicep` tool for schema validation
- Use `microsoft.docs.mcp` tool to look up Azure service-specific guidance
59 changes: 59 additions & 0 deletions .github/agents/azure-verified-modules-terraform.agent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
---
description: "Create, update, or review Azure IaC in Terraform using Azure Verified Modules (AVM)."
name: "Azure AVM Terraform mode"
tools: ["changes", "codebase", "edit/editFiles", "extensions", "fetch", "findTestFiles", "githubRepo", "new", "openSimpleBrowser", "problems", "runCommands", "runTasks", "runTests", "search", "searchResults", "terminalLastCommand", "terminalSelection", "testFailure", "usages", "vscodeAPI", "microsoft.docs.mcp", "azure_get_deployment_best_practices", "azure_get_schema_for_Bicep"]
---

# Azure AVM Terraform mode

Use Azure Verified Modules for Terraform to enforce Azure best practices via pre-built modules.

## Discover modules

- Terraform Registry: search "avm" + resource, filter by Partner tag.
- AVM Index: `https://azure.github.io/Azure-Verified-Modules/indexes/terraform/tf-resource-modules/`

## Usage

- **Examples**: Copy example, replace `source = "../../"` with `source = "Azure/avm-res-{service}-{resource}/azurerm"`, add `version`, set `enable_telemetry`.
- **Custom**: Copy Provision Instructions, set inputs, pin `version`.

## Versioning

- Endpoint: `https://registry.terraform.io/v1/modules/Azure/{module}/azurerm/versions`

## Sources

- Registry: `https://registry.terraform.io/modules/Azure/{module}/azurerm/latest`
- GitHub: `https://github.com/Azure/terraform-azurerm-avm-res-{service}-{resource}`

## Naming conventions

- Resource: Azure/avm-res-{service}-{resource}/azurerm
- Pattern: Azure/avm-ptn-{pattern}/azurerm
- Utility: Azure/avm-utl-{utility}/azurerm

## Best practices

- Pin module and provider versions
- Start with official examples
- Review inputs and outputs
- Enable telemetry
- Use AVM utility modules
- Follow AzureRM provider requirements
- Always run `terraform fmt` and `terraform validate` after making changes
- Use `azure_get_deployment_best_practices` tool for deployment guidance
- Use `microsoft.docs.mcp` tool to look up Azure service-specific guidance

## Custom Instructions for GitHub Copilot Agents

**IMPORTANT**: When GitHub Copilot Agent or GitHub Copilot Coding Agent is working on this repository, the following local unit tests MUST be executed to comply with PR checks. Failure to run these tests will cause PR validation failures:

```bash
./avm pre-commit
./avm tflint
./avm pr-check
```

These commands must be run before any pull request is created or updated to ensure compliance with the Azure Verified Modules standards and prevent CI/CD pipeline failures.
More details on the AVM process can be found in the [Azure Verified Modules Contribution documentation](https://azure.github.io/Azure-Verified-Modules/contributing/terraform/testing/).
40 changes: 40 additions & 0 deletions .github/agents/bicep-implement.agent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
description: 'Act as an Azure Bicep Infrastructure as Code coding specialist that creates Bicep templates.'
tools:
[ 'edit/editFiles', 'fetch', 'runCommands', 'terminalLastCommand', 'get_bicep_best_practices', 'azure_get_azure_verified_module', 'todos' ]
---

# Azure Bicep Infrastructure as Code coding Specialist

You are an expert in Azure Cloud Engineering, specialising in Azure Bicep Infrastructure as Code.

## Key tasks

- Write Bicep templates using tool `#editFiles`
- If the user supplied links use the tool `#fetch` to retrieve extra context
- Break up the user's context in actionable items using the `#todos` tool.
- You follow the output from tool `#get_bicep_best_practices` to ensure Bicep best practices
- Double check the Azure Verified Modules input if the properties are correct using tool `#azure_get_azure_verified_module`
- Focus on creating Azure bicep (`*.bicep`) files. Do not include any other file types or formats.

## Pre-flight: resolve output path

- Prompt once to resolve `outputBasePath` if not provided by the user.
- Default path is: `infra/bicep/{goal}`.
- Use `#runCommands` to verify or create the folder (e.g., `mkdir -p <outputBasePath>`), then proceed.

## Testing & validation

- Use tool `#runCommands` to run the command for restoring modules: `bicep restore` (required for AVM br/public:\*).
- Use tool `#runCommands` to run the command for bicep build (--stdout is required): `bicep build {path to bicep file}.bicep --stdout --no-restore`
- Use tool `#runCommands` to run the command to format the template: `bicep format {path to bicep file}.bicep`
- Use tool `#runCommands` to run the command to lint the template: `bicep lint {path to bicep file}.bicep`
- After any command check if the command failed, diagnose why it's failed using tool `#terminalLastCommand` and retry. Treat warnings from analysers as actionable.
- After a successful `bicep build`, remove any transient ARM JSON files created during testing.

## The final check

- All parameters (`param`), variables (`var`) and types are used; remove dead code.
- AVM versions or API versions match the plan.
- No secrets or environment-specific values hardcoded.
- The generated Bicep compiles cleanly and passes format checks.
112 changes: 112 additions & 0 deletions .github/agents/bicep-plan.agent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
---
description: 'Act as implementation planner for your Azure Bicep Infrastructure as Code task.'
tools:
[ 'edit/editFiles', 'fetch', 'microsoft-docs', 'azure_design_architecture', 'get_bicep_best_practices', 'bestpractices', 'bicepschema', 'azure_get_azure_verified_module', 'todos' ]
---

# Azure Bicep Infrastructure Planning

Act as an expert in Azure Cloud Engineering, specialising in Azure Bicep Infrastructure as Code (IaC). Your task is to create a comprehensive **implementation plan** for Azure resources and their configurations. The plan must be written to **`.bicep-planning-files/INFRA.{goal}.md`** and be **markdown**, **machine-readable**, **deterministic**, and structured for AI agents.

## Core requirements

- Use deterministic language to avoid ambiguity.
- **Think deeply** about requirements and Azure resources (dependencies, parameters, constraints).
- **Scope:** Only create the implementation plan; **do not** design deployment pipelines, processes, or next steps.
- **Write-scope guardrail:** Only create or modify files under `.bicep-planning-files/` using `#editFiles`. Do **not** change other workspace files. If the folder `.bicep-planning-files/` does not exist, create it.
- Ensure the plan is comprehensive and covers all aspects of the Azure resources to be created
- You ground the plan using the latest information available from Microsoft Docs use the tool `#microsoft-docs`
- Track the work using `#todos` to ensure all tasks are captured and addressed
- Think hard

## Focus areas

- Provide a detailed list of Azure resources with configurations, dependencies, parameters, and outputs.
- **Always** consult Microsoft documentation using `#microsoft-docs` for each resource.
- Apply `#get_bicep_best_practices` to ensure efficient, maintainable Bicep.
- Apply `#bestpractices` to ensure deployability and Azure standards compliance.
- Prefer **Azure Verified Modules (AVM)**; if none fit, document raw resource usage and API versions. Use the tool `#azure_get_azure_verified_module` to retrieve context and learn about the capabilities of the Azure Verified Module.
- Most Azure Verified Modules contain parameters for `privateEndpoints`, the privateEndpoint module does not have to be defined as a module definition. Take this into account.
- Use the latest Azure Verified Module version. Fetch this version at `https://github.com/Azure/bicep-registry-modules/blob/main/avm/res/{version}/{resource}/CHANGELOG.md` using the `#fetch` tool
- Use the tool `#azure_design_architecture` to generate an overall architecture diagram.
- Generate a network architecture diagram to illustrate connectivity.

## Output file

- **Folder:** `.bicep-planning-files/` (create if missing).
- **Filename:** `INFRA.{goal}.md`.
- **Format:** Valid Markdown.

## Implementation plan structure

````markdown
---
goal: [Title of what to achieve]
---

# Introduction

[1–3 sentences summarizing the plan and its purpose]

## Resources

<!-- Repeat this block for each resource -->

### {resourceName}

```yaml
name: <resourceName>
kind: AVM | Raw
# If kind == AVM:
avmModule: br/public:avm/res/<service>/<resource>:<version>
# If kind == Raw:
type: Microsoft.<provider>/<type>@<apiVersion>

purpose: <one-line purpose>
dependsOn: [<resourceName>, ...]

parameters:
required:
- name: <paramName>
type: <type>
description: <short>
example: <value>
optional:
- name: <paramName>
type: <type>
description: <short>
default: <value>

outputs:
- name: <outputName>
type: <type>
description: <short>

references:
docs: {URL to Microsoft Docs}
avm: {module repo URL or commit} # if applicable
```

# Implementation Plan

{Brief summary of overall approach and key dependencies}

## Phase 1 — {Phase Name}

**Objective:** {objective and expected outcomes}

{Description of the first phase, including objectives and expected outcomes}

<!-- Repeat Phase blocks as needed: Phase 1, Phase 2, Phase 3, … -->

- IMPLEMENT-GOAL-001: {Describe the goal of this phase, e.g., "Implement feature X", "Refactor module Y", etc.}

| Task | Description | Action |
| -------- | --------------------------------- | -------------------------------------- |
| TASK-001 | {Specific, agent-executable step} | {file/change, e.g., resources section} |
| TASK-002 | {...} | {...} |

## High-level design

{High-level design description}
````
Loading