{"id":18198,"library":"cdktn-cli","title":"CDK Terrain CLI","description":"CLI for CDK Terrain, an open-source infrastructure-as-code framework leveraging Terraform providers via CDK constructs. Current version 0.22.1, released with monthly cadence. Renamed from `cdktf-cli` in v0.22.0 as part of the fork from CDKTF, with breaking package rename and Maven Central artifact publishing. Key differentiators include TypeScript-first design, tight integration with Terraform providers, and a provider generator for custom resources.","status":"active","version":"0.22.1","language":"javascript","source_language":"en","source_url":"git://github.com/open-constructs/cdk-terrain","tags":["javascript","cdk","cdktf","cdktn","terraform"],"install":[{"cmd":"npm install cdktn-cli","lang":"bash","label":"npm"},{"cmd":"yarn add cdktn-cli","lang":"bash","label":"yarn"},{"cmd":"pnpm add cdktn-cli","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency for compiled provider modules","package":"cdktn","optional":true}],"imports":[{"note":"ESM-only since v0.22.0; CommonJS require() fails in Node >=16","wrong":"const CdktnCli = require('cdktn-cli')","symbol":"CdktnCli","correct":"import { CdktnCli } from 'cdktn-cli'"},{"note":"main() is not exported from root; must use deep import in ESM","wrong":"import { main } from 'cdktn-cli'","symbol":"main","correct":"import { main } from 'cdktn-cli/bin/index.js'"},{"note":"Providers are in separate @cdktn/* packages, not in cli","wrong":"import { Providers } from 'cdktn-cli'","symbol":"Providers","correct":"import { Providers } from '@cdktn/providers'"}],"quickstart":{"code":"import { CdktnCli } from 'cdktn-cli';\nconst app = new CdktnCli.App();\nnew MyStack(app, 'my-stack', { env: { region: 'us-east-1' } });\napp.synth();","lang":"typescript","description":"Shows basic usage: import CdktnCli, create App, define stack, and synth to generate Terraform JSON."},"warnings":[{"fix":"Replace all `import from 'cdktf-cli'` with `import from 'cdktn-cli'`","message":"Package renamed from 'cdktf-cli' to 'cdktn-cli' in v0.22.0; all existing imports break.","severity":"breaking","affected_versions":"<0.22.0"},{"fix":"npm install typescript@^5.0.0","message":"TypeScript pinned to 5.x in v0.22.1; using TS 4.x causes syntax errors.","severity":"breaking","affected_versions":">=0.22.1"},{"fix":"Rename cdktf.json to cdktn.json in project root","message":"Config key 'cdktf.json' is deprecated; migrate to 'cdktn.json'","severity":"deprecated","affected_versions":">=0.22.0"},{"fix":"Set { \"type\": \"module\" } in package.json or use .mjs extension","message":"ESM-only: require() not supported in Node >=16; use import/import()","severity":"gotcha","affected_versions":">=0.22.0"},{"fix":"Unset CDKTF_* env vars if using CDKTN_* to avoid unexpected overrides","message":"Environment variable CDKTF_* still read for legacy support; may conflict with CDKTN_*","severity":"gotcha","affected_versions":">=0.22.0 <0.23.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Run: npm uninstall cdktf-cli && npm install cdktn-cli","cause":"Package renamed to cdktn-cli after v0.22.0","error":"Error: Cannot find module 'cdktn-cli'"},{"fix":"Change to ESM import: import { CdktnCli } from 'cdktn-cli'","cause":"CommonJS require() used with ESM-only package","error":"TypeError: cdktn_cli_1.CdktnCli is not a constructor"},{"fix":"Install TypeScript 5.x: npm install -D typescript@^5.0.0","cause":"Running TypeScript <5.x with cdktn-cli v0.22.1 which expects TS 5.x","error":"SyntaxError: Unexpected token 'export'"},{"fix":"Rename cdktf.json to cdktn.json or create cdktn.json","cause":"Config file renamed to cdktn.json in v0.22.0","error":"ENOENT: no such file or directory, open 'cdktf.json'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}