Skip to content

chant

A type system for operations. Declare intent in TypeScript, validate with semantic rules, synthesize artifacts.

Semantic Linting

Lint rules validate meaning, not structure. Rules operate on concepts like “resource has encryption” rather than cloud-specific property names.

Plain TypeScript

Declare operations as exported TypeScript objects — no DSL, no YAML, no decorators. Full type safety and IDE support.

Lexicons

Each operational area is a lexicon. AWS CloudFormation ships today — 1500+ resources with full type coverage. Build your own for any operational area.

Spec-True Output

Output is native to the target spec — standard CloudFormation, standard GitLab CI. Zero lock-in. If you stop using chant, the artifacts keep working.

Composable

Build reusable presets and composite resources with plain functions and the spread operator.

Deployment Ops & Drift

Declare deployment phases in *.op.ts. chant build generates Temporal worker code; chant run starts a durable workflow with gate steps, parallel phases, and automatic rollback. chant lifecycle diff --live catches out-of-band drift across nine lexicons; WatchOp runs the same check on a cron.

Bring Your Own Lifecycle

Pluggable lexicons in, pluggable lifecycles out, pure synthesis in the middle. The product is the synthesis core; state, apply, drift, and reconcile are opt-in bolt-ons. Observe, reconcile (cloud → code PRs), or apply (code → cloud) — chosen per environment, no authoritative state file. Lexicons are a shipped plugin contract; lifecycles today are durable rails you compose from Ops, with a foreign-backend plug as stated direction. Lifecycle Models.

Cross-Platform Migration

Translate workflows between lexicons with chant migrate. v1 ships GitHub Actions → GitLab CI/CD: 33 curated marketplace-action mappings, typed provenance, SARIF reporting, and optional composite-pattern recognition. Read more.