Terraform 与 OpenTofu AI Agent 技能包
为 AI 编码代理提供 Terraform 和 OpenTofu 的最佳实践,涵盖测试、模块开发、CI/CD 与生产级基础设施模式。
证据显示:README 强调使用 OIDC 和 write_only 参数,避免静态密钥,体现了最小权限原则;但未提供用户确认机制或数据流透明度的说明。敏感数据处理有提及(如 Secrets Manager),但缺乏具体实现细节。依赖安全方面,引用了 Trivy/Checkov 等扫描工具,但未提供依赖锁定或漏洞缓解证据。外部影响方面,建议使用远程后端和 CI/CD,但未明确说明其影响范围。回滚方面,提到了状态迁移和恢复程序,但未提供具体回滚机制。来源归属方面,README 列出了多个来源,但未提供可验证的链接或版本。扣分原因:缺少用户确认、数据流透明度和具体的安全实现细节。
证据显示:README 内容自洽,各章节一致,无矛盾。依赖可用性方面,依赖外部工具(如 terraform-ls、MCP server),但未提供版本锁定或镜像。失败消息方面,未提供错误处理或诊断信息。扣分原因:依赖未锁定,失败处理未说明。
证据显示:README 面向多种 AI 代理和云提供商,提供了多场景示例,适应性强。能力边界方面,说明了可选依赖(如 terraform-ls)和回退机制,但未明确限制。触发精度方面,提到了关键词匹配,但未提供精确触发规则。环境适配方面,提供了多种安装方式,但未说明版本兼容性细节。扣分原因:触发规则不明确,能力边界描述不完整。
证据显示:信息架构清晰,有目录和章节。安装说明详细,覆盖多种宿主。命名稳定性方面,提到了命名约定,但未提供版本稳定性保证。示例和 FAQ 丰富,但缺少 FAQ 部分。已知限制方面,未明确列出。许可证为 Apache 2.0,但元数据为 NOASSERTION。版本化变更日志存在(CHANGELOG.md),但未提供详细内容。维护责任方面,提到了贡献指南,但未明确维护者。扣分原因:缺少已知限制和明确的维护责任。
证据显示:输出可用性方面,提供了大量示例和模式,可直接使用。边际价值方面,提供了最佳实践和决策框架,有增量价值。成本效益方面,未提供性能或成本数据。扣分原因:缺少成本效益分析。
证据显示:声明了来源(如 terraform-best-practices.com),但未提供可验证的链接或版本。跨来源佐证方面,引用了多个社区资源,但未提供交叉验证。事实与推断分离方面,未明确区分。扣分原因:来源不可验证,事实与推断未分离。
- 发布者身份未验证,来源不可追溯,需谨慎对待。
- 依赖未锁定,可能引入供应链风险。
- 缺少用户确认机制,可能自动执行高风险操作。
- 数据流不透明,敏感信息处理细节不足。
这个 Agent 能做什么,适合哪些场景?
这是一个专为 AI 编码代理(如 Claude Code、Cursor、Copilot 等)设计的技能包,提供 Terraform 和 OpenTofu 的最佳实践指导。它包含测试策略(原生测试与 Terratest 的决策矩阵)、模块开发规范(命名、结构、版本)、远程状态管理(S3、Azure Blob、GCS、Terraform Cloud 等)、CI/CD 集成(GitHub Actions、GitLab CI)、安全合规(Trivy、Checkov、policy-as-code)以及大量 DO 与 DON'T 的示例。该技能包覆盖 AWS、Azure 和 GCP,提供了跨云的模式映射。安装方式支持多种代理,可通过 npx 或 Git 克隆,并包含 Kiro Power 等特殊集成。它基于社区最佳实践和作者在 terraform-aws-modules 等项目的实战经验构建,旨在帮助代理生成符合生产要求的基础设施代码。
该技能包为 AI 代理提供一系列指导文档和规则,使其能够:1) 根据项目需求选择测试框架(原生测试或 Terratest),并生成测试代码;2) 遵循模块命名、结构和版本控制惯例创建 Terraform 模块;3) 配置远程状态后端(如 S3、GCS),实现锁和加密;4) 生成 GitHub Actions 或 GitLab CI 工作流,集成 tfsec、Infracost 等工具;5) 执行安全扫描(Trivy、Checkov)和合规检查;6) 提供模式与反模式对比,指导变量命名、资源命名、模块组合等。它通过 SKILL.md 文件组织内容,代理在收到相关任务时自动加载这些内容。
- 开发人员使用 Claude Code 创建带有测试的 Terraform 模块,例如 '为 AWS S3 存储桶创建一个带测试的模块'。
- 平台工程师需要为多团队环境设计远程状态管理方案,使用技能指导选择后端和锁定机制。
- DevOps 工程师在 GitHub Actions 中设置 CI/CD 工作流,集成了成本估算和安全扫描。
- 团队将现有 Terraform 代码迁移到 OpenTofu,技能提供兼容性指导。
- 架构师需要跨云(AWS、Azure、GCP)的最佳实践,技能提供等价资源映射。
- 代码审查员使用技能审查 Terraform 配置,确保符合最佳实践。
这个 Agent 有哪些优点和局限?
- 内容基于真实项目最佳实践和社区贡献,非空泛理论。
- 覆盖主流云提供商(AWS、Azure、GCP),提供跨云映射,方便多云团队。
- 提供具体的测试策略和决策矩阵,帮助选择原生测试还是 Terratest。
- 包含大量 DO 与 DON'T 示例,便于直观理解。
- 支持多种 AI 代理,安装灵活。
- 要求代理支持 Agent Skills 标准,部分工具需要额外配置(如 Codex 需要插件市场)。
- 技能内容可能跟不上 Terraform 最新版本,用户需自行验证。
- 强烈建议安装配套的 code-intelligence 技能,否则功能受限。
- 对于简单任务可能过重,需要代理正确触发。
- 部分高级功能(如 cross-cloud mapping)需要用户理解多云概念。
如何安装或部署这个 Agent?
对于 Claude Code,使用插件市场:/plugin marketplace add antonbabenko/agent-plugins 然后 /plugin install terraform-skill@antonbabenko。对于其他代理,可使用 npx skills add https://github.com/antonbabenko/terraform-skill,或根据文档手动克隆到相应目录(如 ~/.cursor/skills/)。
如何使用这个 Agent?
安装后,向 AI 代理提出类似 '创建一个带有测试的 S3 存储桶 Terraform 模块' 的请求,代理会自动加载技能内容。确保已安装 Terraform 1.0+ 或 OpenTofu 1.6+,并已在工作区运行 terraform init。也可参考 README 中的示例提示,如 '为 AWS VPC 创建模块并包含原生测试'。
这个 Agent 与同类方案有什么区别?
与 Terratest 相比,该技能提供了原生测试和 Terratest 的决策矩阵,但本身不是测试框架。与 Hashicorp 官方文档相比,它更面向 AI 代理的交互式指导。
常见问题
技能是免费的吗?
需要预先安装 Terraform 吗?
terraform init。