Skip to main content

General

Is ubx production-ready? ubx v1.0.0 is the first public release. It’s actively used in production by early adopters. The language syntax is stable — breaking changes will increment the major version. Does ubx replace Terraform? ubx is an alternative to Terraform/OpenTofu, not a wrapper around it. ubx uses Pulumi as its runtime, not Terraform. You can migrate existing Terraform code with ubx convert --from terraform. Do I need to know TypeScript? No. ubx generates TypeScript as a build artifact — you never write or read it directly. The .ubx/index.ts is generated and regenerated on every compile. Does ubx support remote state? Yes. ubx uses Pulumi’s state backends: local file, AWS S3, GCP Cloud Storage, Azure Blob Storage, or Pulumi Cloud. Configure in ubx.yaml:
backend: s3://my-bucket/ubx-state

Language

What’s the difference between unit and component?
  • unit — a single cloud resource (maps to one Pulumi provider resource)
  • component — a reusable group of resources from a registry or local path (maps to a Pulumi ComponentResource)
When do I need ~ and when don’t I?
  • ~ before a reference that comes from a cloud resource output (known only after apply)
  • No ~ before input.name, local.name, string literals, or numbers
Can I use for_each with Pending<T> values? The for_each value itself must be Resolved<T> (a literal list or object, or input reference). Attributes inside the block can use Pending<T> values.

AI Features

Which AI model does ubx use? By default, claude-haiku-4-5 (fastest, cheapest). Configure in ubx.yaml:
ai:
  model: "claude-haiku-4-5"
Do you see my infrastructure code? No. Your .iac files are sent directly from your machine to the Anthropic API. Ubiquex has no visibility into your API calls. What happens if the AI API is unavailable? AI commands (ubx explain, ubx fix, etc.) fail with a clear error. Core commands (ubx validate, ubx plan, ubx apply) are unaffected.