provider-docs

作者: hashicorp

使用 HashiCorp 推薦的模式、tfplugindocs 模板和 schema,為 Terraform Registry 建立、更新和審查 Terraform provider 文件。

npx skills add https://github.com/hashicorp/agent-skills --skill provider-docs

Terraform Provider Docs

Follow This Workflow

  1. Confirm scope and documentation targets.
  • Map code changes to the exact doc targets: provider index, resources, data sources, ephemeral resources, list resources, functions, actions, or guides.
  • Decide whether content should come from schema descriptions, templates, or both.
  1. Write schema descriptions first.
  • Add precise user-facing descriptions to schema fields so generated docs stay aligned with behavior.
  • Keep wording specific to argument purpose, constraints, defaults, and computed behavior.
  1. Add or update template files in docs/.
  • Create only files that map to implemented provider objects.
  • Use HashiCorp-recommended template paths:
    • docs/index.md.tmpl
    • docs/data-sources/<name>.md.tmpl
    • docs/resources/<name>.md.tmpl
    • docs/ephemeral-resources/<name>.md.tmpl
    • docs/list-resources/<name>.md.tmpl
    • docs/functions/<name>.md.tmpl
    • docs/actions/<name>.md.tmpl (tfplugindocs generates action docs with Terraform v1.14.0+)
    • docs/guides/<name>.md.tmpl
  • Keep templates focused on overview and examples; rely on generated sections for field-by-field details.
  • Keep HCL examples in the examples/ directory — one example per file, pulled into templates with tffile — rather than inlined in templates (see Example File Conventions in references/hashicorp-provider-docs.md). Examples must not contain terraform, provider, or output blocks.
  • For action pages, follow the structure in references/hashicorp-provider-docs.md (Action Pages section): examples must show both the action block and the action_trigger lifecycle wiring, and actions get no attribute/output section.
  1. Generate documentation with tfplugindocs.
  • Prefer repository defaults when configured:
go generate ./...
  • Otherwise run the generator directly:
go run github.com/hashicorp/terraform-plugin-docs/cmd/tfplugindocs generate --provider-name <provider_name>
  • Re-run generation after every schema or template edit.
  1. Validate the generated markdown.
  • Verify files in docs/ match the current provider implementation.
  • Verify examples are valid HCL and reflect current argument/attribute names.
  • Verify required/optional/computed semantics in docs match schema behavior.
  1. Apply Registry publication rules before release.
  • Use semantic version tags prefixed with v (for example v1.2.3).
  • Create release tags from the default branch.
  • Keep terraform-registry-manifest.json in the repository root.
  • Expect docs to be versioned in Registry and switchable with the version selector.
  1. Preview or troubleshoot publication when needed.
  • Use the HashiCorp preview process to inspect rendered docs before release when accuracy risk is high.
  • If docs are missing in Registry, check tag format, tag source branch, manifest file presence, and provider publication status.

Enforce Quality Bar

  • Keep documentation behaviorally accurate; never describe unsupported arguments or attributes.
  • Keep examples minimal, realistic, and runnable.
  • Keep terminology and naming consistent across provider, resources, and data sources.
  • Avoid duplicating generated argument/attribute blocks in manual templates.
  • Keep doc changes tied to the same PR as schema/API changes whenever possible.

Load References On Demand

  • Read references/hashicorp-provider-docs.md for source-backed rules and official links.
  • Load only the sections needed for the current change to keep context lean.

來自 hashicorp 的更多技能

provider-framework-migration
hashicorp
將 Terraform 提供者資源與資料來源從 Plugin SDKv2 遷移到 Plugin Framework:在單一提供者中混合兩個外掛程式(terraform-plugin-mux,…
provider-configuration
hashicorp
使用 Plugin Framework 實作 Terraform provider 設定與驗證:provider schema 用於憑證(Optional + Sensitive 屬性),…
provider-ephemeral-resources
hashicorp
使用 Plugin Framework 實作 Terraform provider 臨時資源:Open/Renew/Close 生命週期、臨時 schema 設計、透過…註冊
terraform-test
hashicorp
撰寫與執行 Terraform 測試的完整指南,涵蓋斷言、模擬及模組驗證。使用 .tftest.hcl 語法編寫測試檔案,透過 run 區塊在 plan 或 apply 模式下執行,支援順序與平行執行,並可選擇隔離狀態。對資源屬性、輸出及資料來源進行條件斷言;使用 expect_failures 驗證無效輸入是否被正確拒絕。模擬提供者(Terraform 1.7.0 以上版本)可模擬基礎設施行為,無需...
terraform-policy
hashicorp
編寫、測試或轉換 Terraform Policy 檔案(.policy.hcl、.policytest.hcl、Sentinel→tfpolicy)。觸發詞:policy.hcl、policytest、convert sentinel、tfpolicy、…
terraform-search-import
hashicorp
使用 Terraform Search 查詢發現現有雲端資源,並大量匯入至 Terraform 管理。適用於將未受管理的基礎設施納入管理時…
aws-ami-builder
hashicorp
使用Packer的amazon-ebs建置器建立自訂Amazon Machine Images。透過HCL範本自動化從來源AMI建立AMI,並搭配佈建工具(Shell腳本、檔案上傳、組態管理)進行自訂。支援透過ami_regions進行多區域AMI分發,以及依名稱、擁有者和虛擬化類型進行靈活的來源AMI篩選。可透過環境變數、AWS憑證檔案或IAM執行個體設定檔進行驗證;包含範本的驗證與建置命令...
tfctl
hashicorp
使用 tfctl CLI 與 HCP Terraform / Terraform Cloud / Terraform Enterprise 互動。完整 API 覆蓋。適用於任何 HCP Terraform 或 Terraform Cloud 或…