# New Terraform Provider

> Use this when scaffolding a new Terraform provider.

- Skill: `hashicorp/new-terraform-provider` (Agent Skill)
- Install (CLI): `npx skillmds@latest add hashicorp/new-terraform-provider`
- Raw SKILL.md: https://api.skillmd.com/api/skills/hashicorp/new-terraform-provider/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- License: MPL-2.0
- Author: hashicorp (https://skillmd.com/u/hashicorp)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/hashicorp/new-terraform-provider

---


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. Remove TODO comments from `main.go`
1. Run `go mod tidy`
1. Run `go build -o /dev/null`
1. Run `go test ./...`



