pulumi について
AIエージェントやLLM向けのPulumiベストプラクティススキルです。8カテゴリにわたる46のルールで、状態管理やコンポーネント設計からテスト、CI/CDまで、インフラコードの作成と改善を支援します。
主な機能
- 018カテゴリ・46ルール
- 02優先度別のガイダンス
- 03状態管理とリソースグラフの実践
- 04コンポーネント、シークレット、スタックの指針
- 05テストとCI/CDの推奨事項
活用シーン
- 01新しいPulumiインフラコードの作成
- 02スタックと状態管理の見直し
- 03再利用可能なコンポーネントの設計
- 04インフラテストとCI/CDの準備
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ pproenca/ dot-skills --skill pulumiインストール後、Claude Code で/pulumiを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
AGENTS.mdmetadata.jsonREADME.mdassets/templates/_template.mdreferences/_sections.mdauto-automation-api-workflows.mdauto-ci-cd-preview.mdauto-deployments-api.mdauto-drift-detection.mdauto-inline-programs.mdauto-review-stacks.mdgraph-avoid-apply-side-effects.mdgraph-conditional-resources.mdgraph-explicit-depends.mdgraph-output-dependencies.mdgraph-parallel-resources.mdgraph-stack-references-minimal.mdlifecycle-aliases.mdlifecycle-custom-timeouts.mdlifecycle-delete-before-replace.mdlifecycle-ignore-changes.mdlifecycle-protect-stateful.mdlifecycle-replace-on-changes.mdlifecycle-retain-on-delete.mdpcomp-component-resources.mdpcomp-multi-language.mdpcomp-parent-child.mdpcomp-register-outputs.mdpcomp-transformations.mdpcomp-unique-naming.md詳細
Pulumi のベストプラクティス
AI エージェントと LLM 向けに設計された、Pulumi による Infrastructure as Code のパフォーマンスと信頼性に関する包括的なガイドです。8 つのカテゴリにわたる 46 個のルールが含まれており、影響度に基づいて優先順位が付けられています。自動リファクタリングやコード生成の指針として活用できます。
適用するタイミング
以下の場合に、これらのガイドラインを参照してください。
- Pulumi のインフラストラクチャコードを新しく作成するとき
- 再利用可能なコンポーネント抽象化を設計するとき
- シークレットや機密値を設定するとき
- スタックやスタック間参照を整理するとき
- インフラストラクチャ向けの CI/CD パイプラインを設定するとき
優先度別のルールカテゴリ
| 優先度 | カテゴリ | 影響度 | プレフィックス |
|---|---|---|---|
| 1 | 状態管理とバックエンド | CRITICAL | pstate- |
| 2 | リソースグラフの最適化 | CRITICAL | graph- |
| 3 | コンポーネント設計 | HIGH | pcomp- |
| 4 | シークレットと設定 | HIGH | secrets- |
| 5 | スタックの整理 | MEDIUM-HIGH | stack- |
| 6 | リソースオプションとライフサイクル | MEDIUM | lifecycle- |
| 7 | テストと検証 | MEDIUM | test- |
| 8 | 自動化と CI/CD | LOW-MEDIUM | auto- |
クイックリファレンス
1. 状態管理とバックエンド(CRITICAL)
pstate-backend-selection- 本番スタックにはマネージドバックエンドを使用するpstate-checkpoint-skipping- 大規模スタックではチェックポイントのスキップを有効にするpstate-stack-size- スタック内のリソース数を 500 未満に保つpstate-refresh-targeting- スタック全体ではなく、対象を指定してリフレッシュするpstate-export-import- 移行には状態のエクスポート/インポートを使用するpstate-import-existing- 管理を始める前に既存のリソースをインポートする
2. リソースグラフの最適化(CRITICAL)
graph-parallel-resources- 最大限の並列処理ができるようにリソースを構成するgraph-output-dependencies- 出力を使って実際の依存関係を表現するgraph-explicit-depends- 外部依存関係にのみ dependsOn を使用するgraph-avoid-apply-side-effects- apply 関数内での副作用を避けるgraph-conditional-resources- リソースレベルで条件分岐を使用するgraph-stack-references-minimal- スタック参照の階層を最小限にする
3. コンポーネント設計(HIGH)
pcomp-component-resources- 再利用可能な抽象化には ComponentResource を使用するpcomp-parent-child- 子リソースに parent オプションを渡すpcomp-unique-naming- リソース名の一意性を確保するため、名前プレフィックスのパターンを使用するpcomp-register-outputs- コンポーネントの出力を明示的に登録するpcomp-multi-language- 複数の言語から利用できるようにコンポーネントを設計するpcomp-transformations- 横断的な関心事には transformations を使用する
4. シークレットと設定(HIGH)
secrets-use-secret-config- 機密値にはシークレット設定を使用するsecrets-avoid-state-exposure- 状態内でのシークレット漏えいを防ぐsecrets-external-providers- 本番環境では外部のシークレットマネージャーを使用するsecrets-generate-random- random プロバイダーでシークレットを生成するsecrets-provider-rotation- チームメンバーが離脱したらシークレットプロバイダーをローテーションするsecrets-environment-isolation- 環境ごとにシークレットを分離する
5. スタックの整理(MEDIUM-HIGH)
stack-separation-by-lifecycle- デプロイのライフサイクルごとにスタックを分けるstack-references-parameterized- スタック参照をパラメーター化するstack-output-minimal- 必要な出力のみをエクスポートするstack-naming-conventions- 一貫したスタック命名規則を使用する
6. リソースオプションとライフサイクル(MEDIUM)
lifecycle-protect-stateful- ステートフルなリソースを保護するlifecycle-delete-before-replace- 一意制約がある場合は deleteBeforeReplace を使用するlifecycle-retain-on-delete- 共有リソースには retainOnDelete を使用するlifecycle-ignore-changes- 外部で管理されているプロパティには ignoreChanges を使用するlifecycle-replace-on-changes- 不変の依存関係には replaceOnChanges を使用するlifecycle-aliases- リソース名を安全に変更するためにエイリアスを使用するlifecycle-custom-timeouts- 長時間実行されるリソースにはカスタムタイムアウトを設定する
7. テストと検証(MEDIUM)
test-unit-mocking- 高速な単体テストにはモックを使用しますtest-property-policies- プロパティテストにはポリシーをコードとして使用しますtest-integration-ephemeral- 統合テストには一時的なスタックを使用しますtest-preview-assertions- デプロイ前にプレビュー結果を検証しますtest-stack-reference-mocking- 単体テストではスタック参照をモックします
8. 自動化と CI/CD(LOW-MEDIUM)
auto-automation-api-workflows- 複雑なワークフローには Automation API を使用しますauto-inline-programs- 動的なインフラストラクチャにはインラインプログラムを使用しますauto-ci-cd-preview- PR チェックでプレビューを実行しますauto-deployments-api- GitOps には Pulumi Deployments を使用しますauto-review-stacks- PR 環境にはレビュー用スタックを使用しますauto-drift-detection- 本番環境ではドリフト検出を有効にします
使用方法
詳しい説明とコード例については、各リファレンスファイルをお読みください。
- セクションの定義 - カテゴリー構成と影響レベル
- ルールのテンプレート - 新しいルールを追加するためのテンプレート
完全版ドキュメント
すべてのルールを展開した完全なガイドについては、AGENTS.md をご覧ください。
コメント
Markdown 対応