Bicep, Terraform, azure.yaml 설정을 사용하여 Azure Developer CLI (azd) 프로젝트를 설계, 생성, 검토, 마이그레이션 또는 문제 해결을 수행합니다.
- GitHub 스타
- 41,038
- 파일
- 6
- 마지막 커밋
- 2026년 11월 11일
- 라이선스
- MIT
- 허용된 도구
- —
azure-developer-cli skill은 무엇을 하나요?
azure-developer-cli은(는) agent skill입니다. Bicep, Terraform, azure.yaml 설정을 사용하여 Azure Developer CLI (azd) 프로젝트를 설계, 생성, 검토, 마이그레이션 또는 문제 해결을 수행합니다.
skill의 SKILL.md에서 생성된 요약입니다.
azure-developer-cli skill 정보
이 SKILL은 Microsoft 클라우드 인프라를 사용하는 개발자가 Azure Developer CLI 프로젝트를 설계, 생성 및 문제 해결할 수 있도록 지원합니다. azure.yaml 매니페스트, Bicep 템플릿, Terraform 설정을 상호 작용하여 azd 프로젝트 관리를 돕습니다. 사용자가 인프라를 마이그레이션하거나, 배포 워크플로를 검토하거나, 환경별 비밀 정보 및 훅을 구성해야 할 때 에이전트가 이 SKILL을 로드해야 합니다.
이 SKILL은 특정 저장소 컨벤션을 준가하여 보안이 유지되고 환경을 인식하는 프로젝트를 유지하는 데 중점을 둡니다. 서비스 수명 주기를 관리하기 위해 azd up, azd provision, azd deploy와 같은 도구에 의존합니다. 자격 증명이나 로컬 상태 파일의 커밋을 방지하여 안전성을 강조하며, 관리 ID와 Key Vault 참조 사용을 권장합니다. 사용자는 이를 활용하여 애플리케이션 서비스를 모델링하고, 인프라 모듈을 구성하며, 워크로드 ID 페더레이션을 사용하여 의도된 CI/CD 파이프라인을 구축할 수 있습니다.
agent가 수행할 수 있는 작업
- 1프로젝트 매니페스트 구성azure.yaml 파일 내에서 독립적으로 배포 가능한 구성 요소에 대한 서비스 엔트리 및 매핑을 정의합니다.
- 2환경 비밀 정보 관리파일을 직접 수정하는 대신 보안 명령줄 방식을 사용하여 특정 환경에 대한 민감한 값을 설정합니다.
- 3코드형 인프라 구현Bicep 또는 Terraform 파일을 중앙 오케스트레이션 엔트리 포인트가 있는 재사용 가능한 모듈로 구성합니다.
- 4배포 수명 주기 자동화수명 주기 간극을 메우기 위해 프로젝트 전체 또는 서비스별 훅에 대한 멱등성 스크립트를 생성합니다.
skill의 SKILL.md를 기반으로 작성되었습니다. 모든 사용 사례는 해당 문서의 인용구와 대조 확인되었습니다.
azure-developer-cli skill 설치 방법
각 명령은 skill 폴더를 클라이언트의 skills 디렉터리에 복사합니다. 클라이언트를 재시작하거나 새 세션을 시작하여 로드하세요.Claude Code에 azure-developer-cli skill 설치
~/.claude/skills/azure-developer-cli/SKILL.md
$ npx degit github/awesome-copilot/skills/azure-developer-cli ~/.claude/skills/azure-developer-cliClaude Code (project)에 azure-developer-cli skill 설치
.claude/skills/azure-developer-cli/SKILL.md
$ npx degit github/awesome-copilot/skills/azure-developer-cli .claude/skills/azure-developer-cliCodex에 azure-developer-cli skill 설치
~/.agents/skills/azure-developer-cli/SKILL.md
$ npx degit github/awesome-copilot/skills/azure-developer-cli ~/.agents/skills/azure-developer-cliGemini CLI에 azure-developer-cli skill 설치
~/.gemini/skills/azure-developer-cli/SKILL.md
$ npx degit github/awesome-copilot/skills/azure-developer-cli ~/.gemini/skills/azure-developer-cliClaude.ai에 azure-developer-cli skill 설치
npx degit github/awesome-copilot/skills/azure-developer-cli azure-developer-cli && zip -r azure-developer-cli.zip azure-developer-cli # claude.ai → Customize → Skills → + → Create skill → Upload a skill → azure-developer-cli.zip
자동 검사
2026년 11월 15일에 실행됨전체 보고서 →자동 검사를 통과했습니다. 보안 감사는 아닙니다. 에이전트가 실행하기 전에 스크립트를 읽어 보세요. 검사 방식
- 소스 저장소 연결 및 접근 가능github/awesome-copilot/skills/azure-developer-cli is public and reachablegithub.com/github/awesome-copilot/tree/HEAD/skills/azure-dev ↗통과
- 오픈 소스 라이선스 (OSI)MITspdx.org/licenses/MIT.html ↗통과
- 최근 1년 내 커밋 또는 릴리스Last commit 2026-11-11github.com/github/awesome-copilot/commits ↗통과
- 스크립트에 다운로드 후 실행이나 자격 증명 탈취가 없음No scripts in the skill folder통과
- SKILL.md에 숨겨진 지침 없음No override phrases, safeguard switches, credential requests or hidden charactersgithub.com/github/awesome-copilot/blob/HEAD/skills/azure-dev ↗통과
- 사전 허용 도구가 제한됨No pre-approved tools; the agent asks before using onegithub.com/github/awesome-copilot/blob/HEAD/skills/azure-dev ↗통과
- SKILL.md가 Agent Skills 형식을 따름Valid name and description; says when to use it; 135 linesgithub.com/github/awesome-copilot/blob/HEAD/skills/azure-dev ↗통과
SKILL.md
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
- Use predictable names such as
<project>-devfor shared environments and<alias>-devfor personal environments. - Use
azd env set,azd env unset, andazd env set-secretrather than editing.envdirectly. - Use
-eor--environmentin scripts and automation so the target is explicit. - Use
azd env refreshto synchronize deployment outputs after another actor changes an environment. - Configure AZD remote state when a team shares environment state.
4. Add hooks only for lifecycle gaps
- Prefer declarative IaC and native service configuration over hooks.
- Use root hooks for project-wide behavior and service hooks for service-specific behavior.
- Keep nontrivial hook logic in versioned scripts under
scripts/azd. - Set
shellexplicitly. Providewindowsandposixvariants when necessary. - Make hooks idempotent, noninteractive in CI, and fail on errors unless failure is intentionally nonblocking.
- Test a hook independently with
azd hooks run <hook-name>.
5. Build CI/CD deliberately
- Keep the pipeline definition with the template and review generated changes from
azd pipeline config. - Use short-lived federated credentials where the provider supports them.
- Run tests and IaC validation before provisioning.
- Use explicit environments and
--no-promptin automation. - Add protected production environments and approval gates.
- For Terraform, configure protected remote state before pipeline setup and account for current AZD authentication limitations.
Validate before finishing
Run only checks applicable to the repository:
Application: existing formatter, linter, type-check, build, and tests
Bicep: az bicep build --file infra/main.bicep
Terraform: terraform fmt -check -recursive
terraform init -backend=false
terraform validate
AZD hooks: azd hooks run <hook-name>
Packaging: azd package
For a Bicep what-if or Terraform plan, choose the correct deployment scope and environment. These checks can authenticate to Azure or read remote state, so follow the safety guardrails.
Verify that:
azure.yamlpaths exist and service settings match the source projects.- The IaC entry point and provider agree with
azure.yaml. - Required deployment outputs match the variables consumed by services, hooks, and pipelines.
.gitignoreexcludes.azure, secrets, local state, and generated artifacts.- No secret appears in tracked content or command output.
- Documentation explains prerequisites, environment creation, deployment, verification, and cleanup.
Report the result
State:
- The files and behavior changed.
- The IaC provider and environment assumptions.
- The checks performed.
- Any cloud-changing command deliberately not run.
- Any beta or preview feature the solution relies on.
Do not claim deployment success unless the target environment was actually deployed and verified.
이 스킬의 파일
6azure-developer-cli skill 질문
Claude Code에 azure-developer-cli skill을 어떻게 설치하나요?
npx degit github/awesome-copilot/skills/azure-developer-cli ~/.claude/skills/azure-developer-cli를 실행합니다. Claude Code는 ~/.claude/skills(모든 프로젝트) 또는 .claude/skills(한 프로젝트)에서 skills를 로드하며, 설명이 작업과 일치할 때 skill을 사용합니다.
azure-developer-cli skill을 사용할 수 있는 클라이언트는 무엇인가요?
Agent Skills 형식을 읽는 모든 클라이언트(Claude Code, Codex, Gemini CLI, claude.ai(ZIP으로 업로드))가 사용할 수 있습니다. skill 내 스크립트는 클라이언트가 코드 실행을 허용하는 경우에만 실행됩니다.
azd 프로젝트에서 비밀 정보를 어떻게 관리해야 하나요?
관리 ID와 RBAC 사용을 권장합니다. 비밀 정보 사용이 불가피한 경우 Key Vault 참조와 'azd env set-secret' 명령어를 사용하십시오.
azd 프로젝트에 권장되는 IaC 제공업체는 무엇인가요?
저장소나 사용자가 Terraform을 명시적으로 선택하지 않는 한 Bicep이 기본 권장 사항입니다.
소스 제어에서 제외해야 하는 파일은 무엇인가요?
.azure, 환경 .env 파일, 자격 증명, 비밀 정보가 포함된 배포 출력물, 로컬 Terraform 상태 파일 또는 생성된 배포 아티팩트는 절대 커밋해서는 안 됩니다.