SkillLow riskUnclaimed
new-terraform-provider
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.
hashicorphashicorp/new-terraform-provider
Description
To scaffold a new Terraform provider with Plugin Framework:
- 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.
- Create a new workspace root directory. The root directory name should be prefixed with "terraform-provider-". Perform all subsequent steps in this new workspace.
- Initialize a new Go module.
- Run
go get -u github.com/hashicorp/terraform-plugin-framework@latest. - Write a main.go file that follows the example.
- Write an
internal/provider/provider.gofile that follows the example. Rename thedemoprovider, theDEMO_*environment variables, and the authentication attributes to match the target API. - Remove TODO comments from
main.goandprovider.go. - Run
go mod tidy - Run
go build -o /dev/null - 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 theprovider-configurationskill (if available). To add the first resource or data source, use theprovider-resourcesskill (if available).
Permissions
DeclaredDetected
Runs code—
goInstalls—None
Runs install scripts—None
Network—
goreleaser.comNeeds credentials—None
Outside the workspace—None
Agent tools—None
Checks
Low risk · Nothing worth a warning was found.
Not reviewed by a person · Checked by rules; the model review is not switched on yet.
Files3 files · 7.2 KB
- SKILL.md1.8 KB
assets/2
- main.go1.1 KB
- provider.go4.3 KB
Versions
- #10.0.1latestOct 7, 2026
new-terraform-providerOpen in Codeg