Pre-alpha

Type-safe IaC for Dart.

Google Cloud infrastructure as real Dart — typed, refactor-safe, IDE-aware. TerraDart re-implements Terraform’s authoring surface in Dart and emits *.tf.json for the terraform apply you already run.

The dart points down — into the infrastructure layer.

Bring the last non-Dart layer into Dart.

UI and server are already Dart

Flutter handles the UI. Cloud Functions and Cloud Run services run your Dart. For teams already centered on Dart, infrastructure is often the one layer still outside your repo — carried in HCL and manual console work, separate from the language your app, tests, and refactors already share.

Terraform’s surface, absorbed

TerraDart is not a parallel runtime. It is Terraform’s authoring model expressed as Dart factories and sealed types, synthesized to standard JSON for the provider you already use.

Discipline by design

Fixed-value fields become enums. Exactly-one-of blocks become sealed classes. Plain Stack subclasses — loops, config, and refactors work the way Dart already does.

Where TerraDart sits

TerraDart HCL CDKTF Pulumi
Dart authoring Yes No No No
Drop-in for terraform apply Yes Yes Yes Different model
Typed GCP resource API Yes No No No
Project status Pre-alpha Mature Archived 2025 Active

Dart down into infrastructure

  1. 1

    Author in Dart

    Subclass Stack with curated google_* factories from terradart_google.

  2. 2

    Synthesize

    Stack.writeTo writes *.tf.json — no custom apply runtime.

  3. 3

    Apply with Terraform

    terraform plan and apply unchanged; state stays where it is.

Expanded guide: /docs/how-it-works (in progress) · README