Skip to content

Introduction

chant is a TypeScript-first infrastructure tool, end to end. You define cloud resources as plain TypeScript objects; chant type-checks them against a provider lexicon and emits deployment-ready output — then deploys, observes, and reconciles it when you want that too. No YAML, no string templating, no authoritative state file to manage.

TypeScript source → chant build → provider-specific output

That deterministic core is the foundation, and the lifecycle sits on top of it — pluggable lexicons in, pluggable lifecycles out, deterministic synthesis in the middle. Bring your own lifecycle, and chant makes it durable. The two axes aren’t symmetric: lexicons are a shipped plugin contract, while a lifecycle today is durable rails you compose from Ops (a foreign-backend plug-in is direction, not yet shipped). See What chant is for the end-to-end shape, or Lifecycle Models for the dial in depth.

“No state to manage” means no authoritative state file to host, lock, or trust — not the absence of a change set. chant computes a precise create/update/delete plan against the live system using ownership markers that live on the cloud resource, so you get the plan without the file (State and Governance). And when an apply needs to be durable — approval gates, rollback, crash-resume — chant compiles your orchestration to durable workflows: Temporal-native when you want durability, zero-dependency when you don’t.

You get real import/export, editor autocompletion, and semantic lint rules that catch misconfigurations before deployment — all in a single local pass.

  • New to chant? Start hands-on — the getting-started example teaches chant in levels, beginning with typed resources → chant build → spec-native YAML and building up to deployment. Run it alongside Quick Start.
  • Deploy with chant — You want durable deployments with phase visibility, gate steps, and rollback. Declare phases in *.op.ts, chant build generates Temporal worker code, chant run starts the workflow. Start with Quick Start, then the Ops guide. Not sure if Ops fits? See Choosing Your Deployment Model.
  • Track drift and reconcile — You want chant to track drift and reconcile it. Pick a position per environment on the observe → reconcile → authoritative dial: report drift, open cloud → code PRs, or apply code → cloud behind a gate — no authoritative state file. See Lifecycle Models and the Reconciling Lifecycle guide.
  • Release many components — You have many deployable units (services, tables, clusters, libraries) and want one orchestrator to build, publish, sign, apply, and roll back each — no pipeline per unit. Declare them in *.component.ts. See Components and Supply-Chain Attestations.
  • Hand off to an existing pipeline — You already have CI, ArgoCD, Terraform, or another deploy tool. chant produces typed, linted artifacts and hands off — the lifecycle stages simply go unused. Quick Start covers everything. Lexicons are available for AWS, Azure, GCP, Kubernetes, Helm, Docker, GitHub Actions, GitLab CI, and Temporal.
  • Create a lexiconPhilosophy for the design rationale, then Lexicon Authoring to build a plugin.
  • Contribute to chantDevelopment Setup, then the Architecture Overview.