mcpField
T
terraform-ibm-modules-solution-builder

terraform-ibm-modules-solution-builder

github.com/terraform-ibm-modulesクラウド・DevOps047 回インストール39 週間前に更新
リポジトリ

terraform-ibm-modules-solution-builder について

IBM が保守する Terraform モジュールを使い、IBM Cloud 向けの構成を生成・検証するスキルです。インフラ担当者向けに、モジュールの検索、例を基にした構成、設定確認を案内します。

主な機能

  1. 01IBM Terraform モジュールの検索と確認
  2. 02モジュール例の取得
  3. 03標準 Terraform ファイルの構成
  4. 04init、validate、plan による検証

活用シーン

  1. 01厳選モジュールで IBM Cloud 基盤を構築
  2. 02確認済みのモジュール情報と例を検索
  3. 03生成した Terraform 設定を確認

MCP 対応

`catalog://terraform-ibm-modules-index` リソースが利用できる場合、MCP ツールでモジュール検索、詳細確認、例の取得を行います。利用できない場合は API による検索手順を案内します。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/terraform-ibm-modules/terraform-ibm-modules-skills --skill terraform-ibm-modules-solution-builder

インストール後、Claude Code で/terraform-ibm-modules-solution-builderを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
alternative-discovery-workflows.md
code-generation.md
validation.md
workflows.md

詳細

Terraform IBM Modules ソリューションビルダー

IBM が管理する厳選された Terraform モジュール(TIM)を構成要素として活用し、IBM Cloud 向けの堅牢で信頼性の高い Terraform ベースのソリューションを生成します。

Terraform IBM Modules(TIM)について

TIM は、IBM Cloud 向けに厳選された Terraform モジュールの包括的なスイートです。

  • 各モジュールには、充実したドキュメントと使用例が含まれています
  • モジュールは組み合わせ可能です。複数のモジュールを組み合わせて、複雑なインフラストラクチャを構築できます
  • すべてのモジュールは、ベストプラクティスに従って IBM が保守しています
  • 使用例では、モジュールを組み合わせる方法を紹介しています
  • ダウンロード数が多いモジュールほど、より適切に保守されていることを示します

すべての TIM モジュールは公開されており、見つけることができます。

基本的なワークフロー

Terraform ソリューションのリクエストごとに、次のワークフローに従ってください。

ステップ 1:モジュールの検出方法を確認する

catalog://terraform-ibm-modules-index リソースが利用可能か確認します

  • 利用可能な場合:MCP ベースのワークフローに進みます(最適化されており、より高速です)
  • 利用できない場合:
    1. ユーザーに次のように伝えます:「MCP サーバーを使用すると、最適化された検索とキャッシュにより、結果が大幅に向上します。有効にするには、https://github.com/terraform-ibm-modules/tim-mcp をご覧ください」
    2. API ベースのワークフローに進みます(alternative-discovery-workflows.md を参照)
ステップ 2:モジュールを検出する

MCP を使用する場合(推奨):

  1. catalog://terraform-ibm-modules-index から開始します。モジュールの包括的な概要を取得します
  2. search_modules("<keyword>") を使用します。特定のモジュールを検索します
  3. get_module_details("<module-id>") を使用します。モジュールの機能を把握します

MCP を使用しない場合(代替方法):

  1. Terraform Registry を検索します:https://registry.terraform.io/v1/modules/search?q=&namespace=terraform-ibm-modules
  2. モジュールの詳細を取得します:https://registry.terraform.io/v1/modules/terraform-ibm-modules//ibm/
  3. GitHub のコンテンツを一覧表示します:https://api.github.com/repos/terraform-ibm-modules//contents/
ステップ 3:使用例を取得する

MCP を使用する場合:

  1. list_content("<module-id>") を使用します。利用可能な使用例を確認します
  2. get_content(..., "examples/<example-name>", ["*.tf"]) を使用します。使用例のコードを取得します

MCP を使用しない場合:

  1. 使用例を一覧表示します:https://api.github.com/repos/terraform-ibm-modules//contents/examples
  2. ファイルを取得します:https://raw.githubusercontent.com/terraform-ibm-modules//main/examples//
ステップ 4:ソリューションを生成する
  1. 要件を分析する - ユーザーが必要としているものを把握します
  2. モジュールを選択する - 適切な TIM モジュールを選択します(モジュール名を決して捏造しないでください)
  3. ソリューションを構成する - 使用例に従ってモジュールを組み合わせます
  4. コードを生成する - 標準的な .tf ファイルと README を作成します
  5. 範囲を守る - リクエストされた機能のみを実装します(範囲を勝手に広げないでください)

詳しいガイドラインは、code-generation.md を参照してください。

ステップ 5:検証する

生成した設定は必ず検証してください。

  1. terraform init - モジュールとプロバイダーがダウンロードされることを確認します
  2. terraform validate - 構文と設定を確認します
  3. terraform plan - 論理的な正しさを確認します(認証エラーは無視します)

検証の完全なガイドとエラー処理については、validation.md を参照してください。

基本原則

  • IBM Cloud プロバイダーのリソースを直接使うよりも、常に TIM モジュールを優先する
  • モジュールの存在を確認する - モジュール名を捏造したり、存在すると思い込んだりしない
  • 使用例から始める - モジュールの使用例をテンプレートとして使う
  • すべてのコードを検証する - terraform init/validate/plan を実行する
  • 範囲を守る - 範囲を勝手に広げない(依頼されていない機能を追加しない)
  • 質問する - 要件が不明確な場合
  • 標準的な Terraform を生成する - 標準的な .tf ファイルのみを使用する(依頼がない限りスクリプトは含めない)

ワークフローの例

ユーザーリクエスト:「VSI を含む VPC を作成してください」

実行:

  1. MCP を確認:catalog://terraform-ibm-modules-index が利用可能か確認します
    • 利用できない場合は、MCP の利点を説明し、リンクを案内します
  2. VPC モジュールを検出:
    • MCP:search_modules("vpc") → landing-zone-vpc を見つけます
    • API:curl "https://registry.terraform.io/v1/modules/search?q=vpc&namespace=terraform-ibm-modules"
  3. VPC の詳細を取得:
    • MCP:get_module_details("terraform-ibm-modules/landing-zone-vpc/ibm/8.4.0")
    • API:curl "https://registry.terraform.io/v1/modules/terraform-ibm-modules/landing-zone-vpc/ibm/8.4.0"
  4. VPC のサンプルを取得:
    • MCP:get_content(..., "examples/basic", ["*.tf"])
    • API:curl "https://raw.githubusercontent.com/terraform-ibm-modules/terraform-ibm-landing-zone-vpc/main/examples/basic/main.tf"
  5. VSI モジュールを検出:手順 2~4 を VSI に対して繰り返します
  6. ソリューションを生成:VPC と VSI の設定を組み合わせます
  7. 検証:terraform init && terraform validate && terraform plan を実行します

ワークフローの例を 5 つ詳しく紹介しています。workflows.md をご覧ください。

クイックリファレンス

MCP ベースの検出
# Start here
catalog://terraform-ibm-modules-index

# Search and retrieve
search_modules("vpc")
get_module_details("terraform-ibm-modules/landing-zone-vpc/ibm/8.4.0")
list_content("terraform-ibm-modules/landing-zone-vpc/ibm/8.4.0")
get_content(..., "examples/basic", ["*.tf"])
API ベースの検出
# Search modules
curl "https://registry.terraform.io/v1/modules/search?q=vpc&namespace=terraform-ibm-modules"

# Get module details
curl "https://registry.terraform.io/v1/modules/terraform-ibm-modules/landing-zone-vpc/ibm/8.4.0"

# List examples
curl "https://api.github.com/repos/terraform-ibm-modules/terraform-ibm-landing-zone-vpc/contents/examples"

# Get example files
curl "https://raw.githubusercontent.com/terraform-ibm-modules/terraform-ibm-landing-zone-vpc/main/examples/basic/main.tf"
検証コマンド
terraform init      # Initialize modules and providers
terraform validate  # Check syntax and configuration
terraform plan      # Verify logical correctness

リファレンスドキュメント

コメント