Skip to content
Switch branches/tags

npm version PyPI version NuGet version Maven Central homebrew

CDK for Terraform

This experimental repository contains software which is still being developed and in the alpha testing stage. It is not ready for production use.

CDK (Cloud Development Kit) for Terraform allows developers to use familiar programming languages to define cloud infrastructure and provision it through HashiCorp Terraform.

terraform platform


CDK for Terraform apps are written in one of the supported programming languages and can leverage the entire ecosystem of Terraform modules and providers. The application synthesizes Terraform configuration in JSON. Terraform or the CDK for Terraform can then be used to deploy the application.

The CDK for Terraform project includes two packages:

  • cdktf-cli - A CLI that allows users to run commands to initialize, import, and synthesize CDK for Terraform applications.
  • cdktf - A library for defining Terraform resources using programming constructs.

The project currently supports TypeScript, Python, Java, and C#.

Getting Started

Choose a language:

Hands-on: Try the tutorials in the CDK for Terraform collection on HashiCorp Learn.








Please note: Support for Golang is at an experimental state. In the CDK for Terraform and in the upstream library JSII which powers the support for the supported languages.


Contributing and Feedback

CDK for Terraform is an early experimental project and the development team would love your feedback to help guide the project.


Clone the project repository

git clone

Download dependencies

cd terraform-cdk/
yarn install

Build the project and packages

yarn build

Cloud Development Kit (CDK) Ecosystem

CDK for Terraform apps are structured as a tree of constructs. The language support beyond Typescript is made possible by jsii.