mcpField
F
fabric-builder

fabric-builder

github.com/googlecloudplatformCloud & DevOps2.1k147 installsUpdated today
Repository

About fabric-builder

fabric-builder is a skill for generating Terraform root modules for GCP infrastructure with Cloud Foundation Fabric modules. It consults module details and conventions rather than inventing inputs or outputs.

Key features

  1. 01Identify requested GCP resources and relationships
  2. 02Fetch Cloud Foundation Fabric module details
  3. 03Generate Terraform root modules from module information
  4. 04Follow conventions for sources and version constraints
  5. 05Suggest formatting and validation checks

Use cases

  1. 01Write Terraform for requested GCP resources
  2. 02Look up Fabric module variables and outputs
  3. 03Check generated configuration formatting and validity

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/googlecloudplatform/cloud-foundation-fabric --skill fabric-builder

After installing, type/fabric-builderin Claude Code to confirm it loaded.

Bundled filesreferences/conventions.mdscripts/fabric.py

Details

From the project README

Fabric Builder

This skill generates idiomatic Terraform code using Cloud Foundation Fabric (CFF) modules, following established best practices and conventions.

Core Workflow

  1. Understand Request: Identify the GCP resources and relationships requested by the user.
  2. Fetch Module Info: Identify the relevant CFF module(s) from the modules/ folder on GitHub (GoogleCloudPlatform/cloud-foundation-fabric).
  3. Generate Terraform: Output an idiomatic Terraform root module that consumes the CFF modules according to conventions.md.

Important Guidance

  • Conventions & Best Practices: Consult conventions.md for guidelines on how to consume Fabric modules and write high-quality, idiomatic Terraform code (including module sources, version constraints, and provider configuration).
  • Fetching Modules: Do not invent module inputs or outputs. Use the fabric.py script to pull exact details (README, variables, examples) for a specific module from GitHub before using it.
    • To list available modules: python3 scripts/fabric.py modules
    • To fetch details for a module (README): python3 scripts/fabric.py fetch readme <module_name>
    • To fetch variables files: python3 scripts/fabric.py fetch variables <module_name>
    • To fetch outputs files: python3 scripts/fabric.py fetch outputs <module_name>
    • To fetch schema files (useful for factories): python3 scripts/fabric.py fetch schemas <module_name>
    • To fetch the latest release version: python3 scripts/fabric.py release
    • SSL Certification Verification: If you run into SSL certificate issues on your host machine, use the --no-ssl-verify flag (e.g., python3 scripts/fabric.py --no-ssl-verify fetch readme <module_name>).

Guidelines for Output

  • Root Module Output: Your output must be a complete Terraform root module that calls the appropriate CFF modules to fulfill the user's requirements.
  • Follow Conventions: Strictly adhere to conventions.md for module sources, version constraints, provider configuration, and coding style.
  • Use Fabric Modules: Rely on CFF modules instead of raw google_ resources whenever possible.
  • Example-based Learning: Always refer to the module's README (fetched via scripts/fabric.py) for correct usage examples.
  • Formatting & Validation: Ensure the generated code is properly formatted. If possible, run terraform fmt, terraform validate, and terraform plan to check your work.

Comments

Markdown supported