
New Terraform Provider
- 28 installs
- 781 repo stars
- Updated August 4, 2026
- hashicorp/terraform-agent-kit
This is a copy of new-terraform-provider by hashicorp - installs and ranking accrue to the original listing.
Helps with ai & agent building tasks.
About
new-terraform-provider is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted development.
- new-terraform-provider
- AI & Agent Building
- AI-coding skill
New Terraform Provider by the numbers
- 28 all-time installs (skills.sh)
- +2 installs in the week ending Aug 2, 2026 (Skillselion tracking)
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/hashicorp/terraform-agent-kit --skill new-terraform-providerAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 28 |
|---|---|
| repo stars | ★ 781 |
| Last updated | August 4, 2026 |
| Repository | hashicorp/terraform-agent-kit ↗ |
What it does
Helps with ai & agent building tasks.
Files
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. 1. Remove TODO comments from main.go 1. Run go mod tidy 1. Run go build -o /dev/null 1. Run go test ./...
// Copyright IBM Corp. 2025, 2026
// SPDX-License-Identifier: MPL-2.0
package main
import (
"context"
"flag"
"log"
"example.org/terraform-provider-demo/internal/provider"
"github.com/hashicorp/terraform-plugin-framework/providerserver"
)
var (
// these will be set by the goreleaser configuration
// to appropriate values for the compiled binary.
version string = "dev"
// goreleaser can pass other information to the main package, such as the specific commit
// https://goreleaser.com/cookbooks/using-main.version/
)
func main() {
var debug bool
flag.BoolVar(&debug, "debug", false, "set to true to run the provider with support for debuggers like delve")
flag.Parse()
opts := providerserver.ServeOpts{
// TODO: Update this string with the published name of your provider.
// Also update the tfplugindocs generate command to either remove the
// -provider-name flag or set its value to the updated provider name.
Address: "registry.terraform.io/example/demo",
Debug: debug,
}
err := providerserver.Serve(context.Background(), provider.New(version), opts)
if err != nil {
log.Fatal(err.Error())
}
}