skilly. Buy ad slot
All skills
Terraform · Go · Devops / AGENT SKILL

new-terraform-provider

hashicorp/agent-skills
3.6K installs 873 GitHub stars
0

Scaffold Terraform providers with the Plugin Framework, Go modules, schemas, and configuration.
Use this when scaffolding a new Terraform provider with the Plugin Framework: workspace layout, go module setup, provider server main.go, and a provider.go with schema and Configure. Also use when a user wants to start building a provider for a new API or asks how to begin a terraform-provider-* project.

BEFORE YOU INSTALL

Understand the trade-offs.

SECURITY REVIEW

Not yet assessed

Review the original instructions and requested permissions before installing.

No security review is available for this catalog entry yet.

SKILL QUALITY

Not yet assessed

How clearly the skill guides your agent, how complete its workflow is, and how you can check the outcome.

No quality assessment is available for this catalog entry yet.

The full skill.

Original instructions from the publisher’s SKILL.md

To scaffold a new Terraform provider with Plugin Framework:

1. If I am already in a Terraform provider workspace, then confirm that I want
   to create a new workspace. If I do not want to create a new workspace, then
   skip all remaining steps.
1. Create a new workspace root directory. The root directory name should be
   prefixed with "terraform-provider-". Perform all subsequent steps in this
   new workspace.
1. Initialize a new Go module.
1. Run `go get -u github.com/hashicorp/terraform-plugin-framework@latest`.
1. Write a main.go file that follows [the example](assets/main.go).
1. Write an `internal/provider/provider.go` file that follows
   [the example](assets/provider.go). Rename the `demo` provider, the
   `DEMO_*` environment variables, and the authentication attributes to
   match the target API.
1. Remove TODO comments from `main.go` and `provider.go`.
1. Run `go mod tidy`
1. Run `go build -o /dev/null`
1. Run `go test ./...`
The scaffold resolves credentials as explicit config with environment
variable fallback. To grow that into a full credential provider chain
(shared credentials files, profiles, platform identity, configure-time
validation), use the `provider-configuration` skill (if available). To add
the first resource or data source, use the `provider-resources` skill (if
available).