--- layout: "docs" page_title: "Plugins" sidebar_current: "docs-plugins" --- # Plugins Terraform is built on a plugin-based architecture. All providers and provisioners that are used in Terraform configurations are plugins, even the core types such as AWS and Heroku. Users of Terraform are able to write new plugins in order to support new functionality in Terraform. This section of the documentation gives a high-level overview of how to write plugins for Terraform. It does not hold your hand through the process, however, and expects a relatively high level of understanding of Go, provider semantics, Unix, etc.