azure-developer-cli
Lets your agent create and manage Azure projects using the Developer CLI. It follows Microsoft's best practices for development and deployment.
What it does
This tool helps you create and manage projects for the Azure cloud. It follows Microsoft's best practices to ensure your projects are organized, secure, and easy to use.
When to use it
- ✓When starting a new project on Azure.
- ✓When wanting to organize or improve an existing project.
- ✓When needing to set up automatic deployment (CI/CD).
Example of what to ask your AI
“How can I configure my project to be secure and easy to deploy on Azure?”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
The tool analyzes your project, identifies important files like 'azure.yaml' and infrastructure scripts, and suggests or applies best practices for organization and security.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add github/awesome-copilot --skill azure-developer-cliOr download just the file:
curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/azure-developer-cli/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
Azure Developer CLI best practices
Use this skill to produce maintainable, secure, environment-aware azd projects. Prefer repository conventions when they are already coherent, and make the smallest complete change that improves the project.
Start with repository discovery
Before editing:
- Find
azure.yaml, the configuredinfra.path, source projects, deployment scripts,.gitignore, and pipeline definitions. - Read
azure.yamlbefore inferring services or the IaC provider. - Identify whether the task is to create, migrate, review, deploy, or troubleshoot.
- Identify the active environment only when an environment-specific operation is required.
- Read the relevant reference:
- Repository layout or
azure.yaml: references/project-structure.md - Bicep, Terraform, parameters, outputs, or environments: references/iac-and-environments.md
- Secrets, hooks, CI/CD, deployment, or troubleshooting: references/security-cicd-operations.md
- Product details that may have changed: references/official-docs.md
- Repository layout or
Do not assume the default infra path, the default Bicep provider, or a single service when azure.yaml says otherwise.
Apply safety guardrails
- Never commit
.azure, environment.envfiles, credentials, deployment outputs containing secrets, local Terraform state, or generated deployment artifacts. - Never put literal secrets in
azure.yaml, IaC parameter files, hooks, source control, command arguments that will be logged, or IaC outputs. - Prefer managed identities and RBAC. Use Key Vault references and
azd env set-secretwhen a secret is unavoidable. - Before a command that can create, modify, or delete Azure resources, confirm the target environment, subscription, tenant, region, and expected scope.
- Treat an explicit user request to deploy, provision, destroy, or configure a pipeline as approval for that named action. Otherwise, ask before running
azd up,azd provision,azd deploy,azd down, orazd pipeline config. - Do not replace Bicep with Terraform, Terraform with Bicep, or an established hosting service unless the user requests that architectural change.
- Preserve resources and state owned outside the current
azdproject.
Use these defaults
| Concern | Preferred default |
|---|---|
| Project manifest | One azure.yaml at the repository root |
| Application code | src/<service-name> per independently deployable service |
| Infrastructure | infra with a thin entry point and reusable modules |
| IaC provider | Bicep unless the repository or user chooses Terraform |
| Deployment environments | Separate named environments for dev, test, staging, and production |
| Local AZD state | .azure/<environment-name> and excluded from source control |
| Shared environment state | AZD remote environments backed by Azure Blob Storage |
| Secrets | Managed identity/RBAC first, then Key Vault references |
| Automation scripts | Short, idempotent scripts under scripts/azd |
| CI authentication | Workload identity federation/OIDC where supported |
| Routine development | azd up for simple workflows; separate phases for controlled workflows |
Implementation workflow
1. Model the application
- Define one
servicesentry for each independently deployable component. - Keep service keys stable because they participate in resource discovery and deployment.
- Map each service to its actual
project,language, andhost. - Keep shared infrastructure in IaC rather than inventing a fake deployable service.
- Declare dependencies with supported
azure.yamlfields instead of relying on file order.
2. Model infrastructure
- Keep
main.bicepormain.tfas the orchestration entry point. - Split reusable or independently understandable infrastructure into modules.
- Parameterize environment-specific values; do not fork the IaC tree per environment.
- Output only stable, nonsecret values required by deployment or application configuration.
- Use deterministic naming and consistent tags that include the project and environment.
- Add role assignments to identities rather than distributing service keys.
- Use infrastructure layers only when separate scopes or lifecycle dependencies justify them.
3. Model environments
…
FAQ
What is 'azure.yaml'?
It's a main configuration file that describes your Azure project, such as the services it contains and how they connect.
What are 'hooks'?
They are small scripts that perform specific tasks during your project's lifecycle, like before or after a deployment.
How does the tool handle secrets (passwords, keys)?
It prioritizes secure methods like managed identities and Azure Key Vault, preventing secrets from being exposed in configuration files or code.
Details
Original description by the author
Design, create, review, migrate, or troubleshoot Azure Developer CLI (azd) projects using current Microsoft guidance. Use for azd, azure.yaml, AZD templates, Bicep or Terraform under infra, AZD environments and secrets, hooks, deployment workflows, and azd-managed CI/CD.
repo: github/awesome-copilot
Popularity
- GitHub stars
- 40k
- Ranking position
- #5024
- License
- MIT
- Updated
- 10/15/2026
Comments
- …
More skills from this repository
acquire-codebase-knowledge
Helps your agent understand and document an existing code project. It's useful for onboarding new people or getting an overview of the architecture.
github/awesome-copilot
acreadiness-assess
Enables your agent to assess a project's readiness for AI and generate a report. It's useful for understanding how well a project is prepared to use AI tools.
github/awesome-copilot
acreadiness-generate-instructions
Helps your agent create instructions for AI tools based on an assessment. It's useful for improving how AI interacts with code and closing identified gaps.
github/awesome-copilot
acreadiness-policy
Enables your agent to help define or apply policies for AI project assessment. It's useful for standardizing how projects are evaluated and ensuring compliance.
github/awesome-copilot
Similar skills
bun-runtime
Has your agent use Bun to run, organize, and test code. It helps choose Bun over other tools and migrate existing projects.
affaan-m/ECC
database-migrations
Helps your agent make safe changes to databases. It ensures changes can be undone and minimizes downtime.
affaan-m/ECC
deployment-patterns
Sets up deployment and CI/CD workflows, containerization, and rollback strategies to ensure safe releases.
affaan-m/ECC