Bicep、Terraform、azure.yaml 設定を使用して、Azure Developer CLI (azd) プロジェクトの設計、作成、レビュー、移行、またはトラブルシューティングを行います。
- GitHubスター
- 41,038
- ファイル
- 6
- 最終コミット
- 2026年11月11日
- ライセンス
- MIT
- 許可されたツール
- —
azure-developer-cli skillは何をしますか
azure-developer-cliはAgent Skillsです。 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 などのツールを利用します。認証情報やローカルの state ファイルのコミットを防ぐことで安全性を強調し、マネージド ID や Key Vault 参照の使用を推奨します。ユーザーはこれを利用して、アプリケーションサービスのモデリング、インフラストラクチャモジュールの整理、および workload identity federation を使用した意図的な CI/CD パイプラインの構築を行うことができます。
エージェントができること
- 1プロジェクトマニフェストの設定azure.yaml ファイル内で、独立してデプロイ可能なコンポーネントのサービスエントリとマッピングを定義します。
- 2環境シークレットの管理ファイルを直接編集する代わりに、安全なコマンドライン手法を使用して、特定の環境の機密値を設定します。
- 3Infrastructure as Code の実装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 state、または生成されたデプロイアーティファクトは、決してコミットしないでください。