Infrastructure as Code CLI and engine that lets you define and deploy cloud resources using general-purpose programming languages.
aws/aws-cdk
An open-source framework for defining AWS cloud infrastructure in TypeScript, Python, Java, .NET or Go and provisioning it via CloudFormation.
Open-source alternative to:Terraform
AWS CloudFormation
- Stars
- 12,948
- Forks
- 4,656
- Open issues
- 2,939
- Last commit
- 6 hours ago
What is it?
The AWS Cloud Development Kit (CDK) lets developers define cloud infrastructure using general-purpose programming languages instead of hand-written templates. Developers compose reusable building blocks called constructs into stacks, forming a CDK app, and the framework synthesizes these into AWS CloudFormation templates for deployment.
The AWS Construct Library includes a module for each AWS service, with object-oriented APIs that encapsulate how to wire services together, reducing boilerplate and glue logic. Constructs can be packaged and shared, and are discoverable through Construct Hub.
The CDK CLI, installed from npm, provides commands to synthesize templates, deploy stacks to an AWS account, and diff a code change against a deployed stack. Supported languages include TypeScript, JavaScript, Python, Java, .NET and Go.
Key features
- 01Define AWS resources as reusable constructs in TypeScript, Python, Java, .NET or Go.
- 02Synthesize AWS CloudFormation templates from application code.
- 03Deploy stacks to AWS accounts with the cdk deploy command.
- 04Diff local code changes against deployed stacks before applying them.
- 05Use an AWS Construct Library module for each AWS service.
Use cases
- Managing AWS infrastructure for applications as version-controlled code.
- Sharing reusable infrastructure patterns across teams through construct libraries.
- Previewing infrastructure changes with diff before deploying to production.
Quick start
- 1
Install the AWS CDK CLI from npm
npm i -g aws-cdk - 2
Create a new sample TypeScript project
mkdir hello-cdk && cd hello-cdk && cdk init sample-app --language=typescript - 3
Deploy the sample app to your AWS account
cdk deploy
Things to know
- Requires an AWS account and AWS credentials to deploy stacks.
- Experimental modules may have breaking API changes in any release.
Topics
FAQ
- What is aws-cdk?
- An open-source framework for defining AWS cloud infrastructure in TypeScript, Python, Java, .NET or Go and provisioning it via CloudFormation. The AWS Cloud Development Kit (CDK) lets developers define cloud infrastructure using general-purpose programming languages instead of hand-written templates. Developers compose reusable building blocks called constructs into stacks, forming a CDK app, and the framework synthesizes these into AWS CloudFormation templates for deployment.
- Is aws-cdk free to use? What license does it have?
- aws-cdk is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is aws-cdk still maintained?
- Actively maintained. The last commit to aws-cdk was on Oct 22, 2026.
- What can I use aws-cdk for?
- Managing AWS infrastructure for applications as version-controlled code. Sharing reusable infrastructure patterns across teams through construct libraries. Previewing infrastructure changes with diff before deploying to production.
- How do I install aws-cdk?
- Install the AWS CDK CLI from npm: npm i -g aws-cdk Create a new sample TypeScript project: mkdir hello-cdk && cd hello-cdk && cdk init sample-app --language=typescript Deploy the sample app to your AWS account: cdk deploy
- Where can I get aws-cdk?
- The source code and installation instructions are on GitHub: https://github.com/aws/aws-cdk
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Static analysis tool that scans infrastructure as code, container images and open source packages for cloud misconfigurations and CVEs.
A CLI and YAML-based framework for deploying code and cloud infrastructure, mainly on AWS Lambda and other managed cloud services.
Open-source cloud cost estimation for Terraform, Terragrunt, CloudFormation and AWS CDK, shown before infrastructure changes are deployed.
A Terraform provider that lets Terraform create, change and destroy AWS resources through declarative configuration.
Open-source TypeScript and Go backend framework where databases, Pub/Sub, buckets, caches and cron jobs are declared in code and run locally, then deployed to your AWS or GCP account.