Agent Skills
返回列表
💻

Terraform模块脚手架

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/terraform-module-scaffolder-hcl-sdk 到你的 AI 助手中。

技能介绍

要解决的问题

手动创建 Terraform 模块时,常见痛点集中在几处:目录结构容易写错,variables.tf、outputs.tf、main.tf 分散在不同文件里,新人很难一眼看出模块边界;provider 的 schema 更新后,模块里的字段定义常和实际 provider 对不上,等到 terraform validate 或部署时才报错;变量靠人眼提取,容易漏掉 required、description、sensitive 这些约束;文档要么缺失,要么和代码版本脱节;发布前还要手工跑 lint、整理 README、调 Terraform Registry API,流程割裂。

技能如何工作

这个技能把上述流程串成一条从 schema 到发布产物的流水线:

  • 用 HCL SDK 读取 provider schema,做 provider schema introspection,从源头拿到真实字段、类型和约束。
  • 基于 schema 做 automatic variable extraction,把模块需要暴露的输入变量按 provider 规则抽出来,减少手写变量定义的遗漏。
  • 调用 terraform-docs API 生成文档,让 README 和模块结构保持一致。
  • 按 tflint rules 做校验,提前发现命名、引用、schema 兼容等问题。
  • 最后通过 Terraform Registry API 发布,把构建好的模块推到 Registry。

适用边界与注意点

适合在已经明确 provider schema、需要快速产出标准化模块骨架的场景使用,例如团队内部模块、可复用的公共模块。它不替代人工对模块语义的判断,variables.tf、outputs.tf 的最终含义仍需要开发者确认。schema 发生变更后,需要重新运行 introspection 和变量提取,避免文档和变量定义滞后。发布到 Terraform Registry 前要准备好 credentials 和 module namespace,确认 API 权限和版本号策略。

使用场景

  • 需要为新的AWS模块快速生成variables、outputs和main骨架,并按HCL SDK与schema内省补齐字段定义。
  • provider schema刚升级,团队要检查模块变量、文档和lint结果是否与新的字段类型保持一致。
  • 准备发布内部模块到Terraform Registry,需要生成README文档、执行tflint校验并调用Registry API上传。
  • 多个模块需要统一结构,想从provider schema自动提取变量,避免手写遗漏required和sensitive等配置。

适合人员

  • Terraform模块作者,想要从schema内省、变量提取到文档生成、校验和发布的统一流程,减少手工整理文件。
  • 平台工程师,需要为团队维护可复用的provider模块,并在schema变更后快速更新变量定义和文档。
  • DevOps工程师,负责把模块发布到Terraform Registry,希望用terraform-docs和tflint提前发现结构与规范问题。
  • 平台团队负责人,想为团队建立可维护的模块模板,保证variables.tf、outputs.tf和README内容持续一致。