terraform-ibm-modules-solution-builder

安装量: 43
排名: #16993

安装

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

Generate robust and reliable terraform-based solutions for IBM Cloud by leveraging curated, IBM-maintained Terraform modules (TIM) as building blocks.

About Terraform IBM Modules (TIM)

TIM is a comprehensive suite of curated Terraform modules for IBM Cloud:

  • Each module includes comprehensive documentation and usage examples

  • Modules are composable - build complex infrastructure by combining them

  • All modules maintained by IBM following best practices

  • Examples show how to stitch modules together

  • Higher download counts indicate better maintained modules

All TIM modules are public and discoverable:

Core Workflow

Follow this workflow for every Terraform solution request:

Step 1: Check Module Discovery Method

Check if catalog://terraform-ibm-modules-index resource is available

  • If available: Proceed with MCP-based workflow (optimized, faster)

  • If NOT available:

Inform the user: "The MCP server provides significantly better results with optimized search and caching. To enable it, see https://github.com/terraform-ibm-modules/tim-mcp"

Step 2: Discover Modules

With MCP (Recommended):

  • Start with catalog://terraform-ibm-modules-index - Get comprehensive module overview

  • Use search_modules("<keyword>") - Find specific modules

  • Use get_module_details("<module-id>") - Understand module capabilities

Without MCP (Alternative):

  • Search Terraform Registry: https://registry.terraform.io/v1/modules/search?q=<query>&namespace=terraform-ibm-modules

  • Get module details: https://registry.terraform.io/v1/modules/terraform-ibm-modules/<name>/ibm/<version>

  • List GitHub contents: https://api.github.com/repos/terraform-ibm-modules/<repo>/contents/<path>

Step 3: Retrieve Examples

With MCP:

  • list_content("<module-id>") - Find available examples

  • get_content(..., "examples/<example-name>", ["*.tf"]) - Get example code

Without MCP:

  • List examples: https://api.github.com/repos/terraform-ibm-modules/<repo>/contents/examples

  • Get files: https://raw.githubusercontent.com/terraform-ibm-modules/<repo>/main/examples/<example>/<file>

Step 4: Generate Solution

  • Analyze requirements - Understand what the user needs

  • Select modules - Choose appropriate TIM modules (never hallucinate module names)

  • Compose solution - Combine modules following examples

  • Generate code - Create standard .tf files and README

  • Stay focused - Only implement requested features (no scope creep)

See code-generation.md for detailed guidelines.

Step 5: Validate

Always validate generated configurations:

  • terraform init - Verify modules and providers download

  • terraform validate - Check syntax and configuration

  • terraform plan - Review logical correctness (ignore auth errors)

See validation.md for complete validation guide and error handling.

Key Principles

  • Always prefer TIM modules over direct IBM Cloud provider resources

  • Verify modules exist - Never hallucinate or assume module names

  • Start with examples - Use module examples as templates

  • Validate all code - Run terraform init/validate/plan

  • Stay focused - Avoid scope creep (no unrequested features)

  • Ask questions - When requirements are unclear

  • Generate vanilla Terraform - Standard .tf files only (no scripts unless requested)

Example Workflow

User Request: "Create a VPC with a VSI"

Execution:

  • Check MCP: Verify catalog://terraform-ibm-modules-index availability

If not available, inform user about MCP benefits and link

  • Discover VPC module:

MCP: search_modules("vpc") → Find landing-zone-vpc

  • API: curl "https://registry.terraform.io/v1/modules/search?q=vpc&namespace=terraform-ibm-modules"

  • Get VPC details:

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"

  • Retrieve VPC example:

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"

  • Discover VSI module: Repeat steps 2-4 for VSI

  • Generate solution: Compose VPC + VSI configuration

  • Validate: Run terraform init && terraform validate && terraform plan

See workflows.md for 5 complete workflow examples.

Quick Reference

MCP-Based Discovery

# 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-Based Discovery

# 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"

Validation Commands

terraform init      # Initialize modules and providers
terraform validate  # Check syntax and configuration
terraform plan      # Verify logical correctness

Reference Documentation

返回排行榜