-
Notifications
You must be signed in to change notification settings - Fork 76
Updates azure-deploy skill #609
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,170 @@ | ||
| --- | ||
| name: azure-create-app | ||
| description: Create Azure-ready application configurations using Azure Developer CLI (azd). USE THIS SKILL when users want to prepare their application for Azure deployment, create azure.yaml, generate infrastructure files, or set up azd projects. Trigger phrases include "prepare for Azure", "create azure.yaml", "set up azd", "generate infrastructure", "configure for Azure", "make this Azure-ready", "deploy to Azure", "azd init", etc. | ||
| --- | ||
|
|
||
| # Azure Create App Skill | ||
|
|
||
| Create Azure-ready application configurations using Azure Developer CLI (azd). This skill generates the required configuration files for Azure deployment. | ||
|
|
||
| --- | ||
|
|
||
| ## Execution Flow | ||
|
|
||
| Execute these steps in order. | ||
|
|
||
| ### Step 1: Check Existing State | ||
|
|
||
| Check for existing configuration files: | ||
|
|
||
| **If `azure.yaml` exists:** | ||
| - Project is already configured for Azure | ||
| - User may need to update configuration or deploy (use azure-deploy skill) | ||
| - Ask user if they want to regenerate configuration | ||
|
|
||
| **If `azd-arch-plan.md` exists but no `azure.yaml`:** | ||
| - Read `azd-arch-plan.md` to determine last completed phase | ||
| - Resume from the incomplete phase | ||
|
|
||
| **If neither file exists:** | ||
| - Proceed to Step 2 (Discovery) | ||
|
|
||
| ### Step 2: Discovery Analysis | ||
|
|
||
| Call the `azure__azd` MCP tool with the `discovery_analysis` command: | ||
| ```javascript | ||
| await azure__azd({ | ||
| command: "discovery_analysis", | ||
| parameters: {} | ||
| }); | ||
| ``` | ||
|
|
||
| This tool returns instructions to: | ||
| - Scan the file system recursively | ||
| - Identify programming languages and frameworks | ||
| - Classify components (web apps, APIs, databases, etc.) | ||
| - Map dependencies between components | ||
| - Create `azd-arch-plan.md` with findings | ||
|
|
||
| Execute the returned instructions before proceeding. | ||
|
|
||
| ### Step 3: Architecture Planning | ||
|
|
||
| Call the `azure__azd` MCP tool with the `architecture_planning` command: | ||
| ```javascript | ||
| await azure__azd({ | ||
| command: "architecture_planning", | ||
| parameters: {} | ||
| }); | ||
| ``` | ||
|
|
||
| This tool returns instructions to: | ||
| - Select appropriate Azure services for each component | ||
wbreza marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| - Plan hosting strategy | ||
| - Design containerization approach if needed | ||
| - Update `azd-arch-plan.md` with service selections | ||
|
|
||
| Execute the returned instructions before proceeding. | ||
|
|
||
| ### Step 4: File Generation | ||
|
|
||
| Call these MCP tools in sequence using `azure__azd`: | ||
|
|
||
| **4a. Get IaC rules:** | ||
| ```javascript | ||
| await azure__azd({ | ||
| command: "iac_generation_rules", | ||
| parameters: {} | ||
| }); | ||
| ``` | ||
|
|
||
| **4b. Generate Dockerfiles (if containerizing):** | ||
wbreza marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| ```javascript | ||
| await azure__azd({ | ||
| command: "docker_generation", | ||
| parameters: {} | ||
| }); | ||
| ``` | ||
|
|
||
| **4c. Generate Bicep templates:** | ||
| ```javascript | ||
| await azure__azd({ | ||
| command: "infrastructure_generation", | ||
wbreza marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| parameters: {} | ||
| }); | ||
| ``` | ||
|
|
||
| **4d. Generate azure.yaml:** | ||
| ```javascript | ||
| await azure__azd({ | ||
| command: "azure_yaml_generation", | ||
| parameters: {} | ||
| }); | ||
| ``` | ||
|
|
||
| Each tool returns instructions. Execute them before calling the next tool. | ||
|
|
||
| **Required output files:** | ||
| - `azure.yaml` - Always required | ||
| - `infra/main.bicep` - Always required | ||
wbreza marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| - `infra/main.parameters.json` - Always required | ||
| - `Dockerfile` - Required for Container Apps or AKS hosts | ||
|
|
||
| ### Step 5: Validation (REQUIRED) | ||
|
|
||
| **This step is mandatory. Do not proceed to Step 6 until validation completes without errors.** | ||
|
|
||
| Call the `azure__azd` MCP tool with the `project_validation` command: | ||
| ```javascript | ||
| await azure__azd({ | ||
| command: "project_validation", | ||
| parameters: {} | ||
| }); | ||
| ``` | ||
|
|
||
| This tool returns instructions to validate: | ||
| - azure.yaml against schema | ||
| - Bicep template compilation | ||
| - AZD environment configuration | ||
wbreza marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| - Package building | ||
| - Provision preview | ||
|
|
||
| **For quick azure.yaml-only validation:** | ||
| ```javascript | ||
| await azure__azd({ | ||
| command: "validate_azure_yaml", | ||
| parameters: { path: "./azure.yaml" } | ||
| }); | ||
| ``` | ||
|
|
||
| Resolve ALL validation errors before proceeding. Repeat validation until zero errors are returned. | ||
|
|
||
| ### Step 6: Complete | ||
|
|
||
| Configuration is complete. Inform the user: | ||
| - `azure.yaml` and infrastructure files are ready | ||
| - To deploy, use the azure-deploy skill | ||
|
|
||
| --- | ||
|
|
||
| ## Reference Guides | ||
|
|
||
| Load these guides as needed: | ||
|
|
||
| **Discovery & Planning:** | ||
|
|
||
| - [Application Type Detection](./reference/app-type-detection.md) - Patterns for identifying application types | ||
| - [Service Selection Rules](./reference/service-selection.md) - Mapping components to Azure services | ||
|
|
||
| **Configuration:** | ||
|
|
||
| - [azure.yaml Configuration](./reference/azure-yaml-config.md) - Configuration file reference | ||
| - [Error Handling](./reference/error-handling.md) - Troubleshooting and common errors | ||
|
|
||
| **Service-Specific Details:** | ||
|
|
||
| - [Static Web Apps Guide](../azure-deploy/reference/static-web-apps.md) | ||
| - [Container Apps Guide](../azure-deploy/reference/container-apps.md) | ||
| - [Azure Functions Guide](../azure-deploy/reference/functions.md) | ||
| - [App Service Guide](../azure-deploy/reference/app-service.md) | ||
| - [AKS Guide](../azure-deploy/reference/aks.md) | ||
wbreza marked this conversation as resolved.
Show resolved
Hide resolved
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.