---
title: "formae - Open-source Infrastructure as Code for humans in the AI era | Platform Engineering Labs"
description: "Full IaC. No drift. Minimal blast radius. AI at any scale. All in code. Full control."
url: "https://formae.ai"
---

# Open-source, automatic Infrastructure as Code for humans and agents in the AI era

Stop pretending your Infrastructure-as-Code repository describes reality. formae starts with what exists, catches and versions out-of-band changes, and hands you always-current code to evolve.

- No drift
- Minimal blast radius
- Always-current code
- Full control

[Quick Start](https://docs.formae.io/)

[Pricing](https://formae.ai/pricing)

`/bin/bash -c "$(curl -fsSL https://hub.platform.engineering/get/formae.sh)"`

### Featured in

![forbes.png](https://formae.ai/media/formae/forbes-800c.webp?__frsh_c=vg8w6w82h59r)

![thenewstack.png](https://formae.ai/media/formae/thenewstack-800c.webp?__frsh_c=vg8w6w82h59r)

![infoq.png](https://formae.ai/media/formae/infoq-148c.webp?__frsh_c=vg8w6w82h59r)

![siliconangle.png](https://formae.ai/media/formae/siliconangle-800c.webp?__frsh_c=vg8w6w82h59r)

## Infrastructure, before and after formae

1. ![State &amp; drift fight?](https://formae.ai/media/formae/left-800c.webp?__frsh_c=vg8w6w82h59r)

   *State & drift fight?*
2. ![Break free!](https://formae.ai/media/formae/mid-800c.webp?__frsh_c=vg8w6w82h59r)

   *Break free!*
3. ![IaC, as it should be](https://formae.ai/media/formae/right-800c.webp?__frsh_c=vg8w6w82h59r)

   *IaC, as it should be*

### Always-current infrastructure model

**formae** continuously discovers and synchronizes infrastructure across your entire estate - cloud, clusters, and beyond. It maintains an always-current model of what’s running and becomes the system of record without requiring migrations or mandates.

### Changes at any granularity

**formae** evolves infrastructure safely, from full rollouts down to single property updates, all expressed as code. It applies precise changes with minimal blast radius while schemas and constraints keep environments predictable and reduce cognitive load.

### Extensible and usable by anyone

**formae** is highly extensible and provides clear abstractions that make infrastructure accessible beyond infrastructure specialists. Engineers and AI systems can safely extend and evolve infrastructure as systems grow.

### No mandates. No migrations

**formae** can be introduced without replacing existing Infrastructure as Code or operational tooling. It runs alongside your current systems, continuously discovering infrastructure and enabling incremental evolution.

### No hacks. No workarounds.

**formae** gives you full control over your infrastructure model. Define your own schemas, shape infrastructure to match your mental model, and encode best practices directly into code. Build plugins, create abstractions, and expose simple interfaces for others - all without breaking safety or consistency.

### Keep what works. Move at your own speed.

**formae** works with what you already have. Your team's knowledge and your existing Terraform and Helm keep their value, whatever is running gets codified in minutes, and AI works from a short primer and one MCP. Nothing is mandated and nothing is rewritten.

## How formae works: two loops, one infrastructure

#### Reconciliation loop

Infrastructure code declares the intended system. Changes flow through the infrastructure model and reconcile the running infrastructure based on the resulting diff, compatible with GitOps workflows.

*How formae works: Infrastructure code declares the infrastructure model, which reconciles the running infrastructure. In the other direction, formae discovers the running infrastructure into the model, extracts code from the model, and applies patches back through it.*

#### Extract - patch loop

**formae** continuously maintains an always-current model of infrastructure. Engineers can extract code from the running system and evolve infrastructure through precise patches applied through the model, both at any granularity.

## Write simple, safe infrastructure code

## Powered by the Pkl language

**formae** uses **Pkl** to model infrastructure with schemas, constraints, and reusable abstractions. Pkl provides a clear and unambiguous way to express configuration, so infrastructure code stays simple to understand and safe to evolve. The result is code that humans can read at a glance and AI systems can generate and modify with precision.

Schema

The schema makes a resource absolutely precise. Once it passes validation it is effectively compiled: safe to run, with nothing left to break at apply time.

Constraints

Abstractions

Resolvables

schema.pkl

1

module aws.sqs.queuepolicy

2

3

import "../aws.pkl"

4

import "@formae/formae.pkl"

5

6

const type = "AWS::SQS::QueuePolicy"

7

8

@aws.ResourceHint {

9

type = module.type

10

identifier = "Id"

11

discoverable = false

12

}

13

open class QueuePolicy extends formae.Resource {

14

@aws.FieldHint

15

policyDocument: Dynamic

16

17

@aws.FieldHint

18

queues: Listing<String|formae.Resolvable>

19

}

constraints.pkl

1 of 1 problem

1

typealias Team = "team-a" | "team-b"

2

typealias Size = "small" | "medium" | "large"

3

4

class Database {

5

team: Team

6

size: Size

7

}

8

9

local db = new Database {

10

team = "team-n"

Type mismatch.

Required: Team

Actual: "team-n"

11

size = "medium"

12

}

abstractions.pkl

1

properties {

2

team = new formae.Prop {

3

flag = "team"

4

}

5

6

size = new formae.Prop {

7

flag = "database-size"

8

default = "xs"

9

}

10

}

$ formae apply --help abstractions.pkl

Usage: formae apply [OPTIONS] <forma file>

Options:

--mode <reconcile|patch> Apply mode. This flag is required.

--simulate Simulate rather than make changes.

--force Overwrite changes since the last reconcile.

--yes Run without any confirmations.

Properties:

--database-size property: database-size [default: xs]

--team property: team [required]

resolvables.pkl

1

class NetworkResources {

2

name: String

3

vpcLabel: String

4

vpcCidr: String

5

subnetCidr1: String

6

subnetCidr2: String

7

region: String

8

9

hidden attachIgw: vpcgatewayattachment.VPCGatewayAttachment = new {

10

label = "lifeline-igw-attachment"

11

vpcId = vpc.res.id

id

VpcResolvable

vpcId

ipv6CidrBlocks

12

internetGatewayId

13

}

14

15

hidden vpc: vpc.VPC = new {

16

label = vpcLabel

17

cidrBlock = vpcCidr

18

enableDnsHostnames = true

19

enableDnsSupport = true

20

}

21

}

## Used to manage real infrastructure

3.2M+

Downloads

2.8k+

Installations

## What engineers say about formae

> "Every enterprise tries to do Platform Engineering and at the end only abstract infrastructure with Backstage, then fights maintaining it. formae solved this differently with native IaC abstraction that just works. No portal to build, no catalogs to sync. Exactly what our customers need."

Michael Mueller

CTO re:cinq

> "I used to shudder when a client would say they wanted to IaC their 10-year-old, click-ops created production environment. formae now makes this possible. I was able to accomplish this exact requirement using formae. The tool is easy to work with and the team at Platform Engineering Labs is highly accessible and eager to help. formae is now an integral part of my toolkit."

Carson Williams

Director Cloud Operations, Goods & Services

> "I’ve been researching IaC options and formae came up. I instantly loved the idea! As a Platform Engineer, I feel like most current IaC tools are still primarily designed for developers and are somewhat lagging in this area. The Terraform struggle is real."

Petr

Cloud Engineer

> "formae is designed for developers and platform engineers from the ground up. While this is a crucial pattern, formae doesn’t just move complexity from dev to ops - it truly helps achieve reduced cognitive load for both developers and operations teams by abstracting the complexity on both sides in modern cloud-native environments."

Marc Schnitzius

Platform Engineering Lead at codecentric

> "I have felt the pain of Terraform/OpenTofu for a few years, and have gone to great lengths to try and ease the pain for the rest of my teams. formae’s mission to build a better API, so that I don’t have to do all of the craziness I’m doing now to make it sane for the rest of my platform engineers, is of strong interest."

Sam

DevOps Engineer

> "formae is a significant evolutionary leap forward in both devops and software development. It represents a shift in thinking as fundamental as source control, as practical as package management, and as vital as Observability. formae's impact will extend beyond improving the lives of DevOps and Engineering teams to creating lasting and reliable value for businesses and their customers."

Harry Brumleve

Founder of strategic technology firm Thoughtful Software

> "I am building our internal dev platform and we have many challenges across multiple clouds. We currently use Terraform, but when I saw formae and its design decisions and philosophy, I thought to give it a go."

Hassan

Platform Lead

> „The best time to sunset Terraform was 5 years ago, the second best time is now. Significant time was invested into making the situation better for teams dealing with infrastructure, and formae is approaching the problem in a way that makes it super convenient for teams to get started, yet stay in control.“

Stefan Staudenmeyer

Retail tech lead & infrastructure practitioner

> "Since I’ve seen the launch of the tool I’ve followed the evolution, and now with plugins I want to use it for almost everything. We are already using Pkl for most of our configurations, so formae being based on Pkl fits."

Eduardo

DevExp Lead

> "formae keeps infra management simple. It’s super easy to get started with, and you don’t need to wrestle with overly complex state management like other IaC tools. What I love most is how it adapts to reality instead of pretending the world is perfect. It picks up changes made outside the tool, merges them cleanly, and keeps your infrastructure code as the actual source of truth. That’s a big deal when you're debugging weird issues or need to understand what’s really running at 3am."

Anthony Moreno

Seasoned On-Call Veteran

> "I started focusing on platform and IaC after I started my new job and got overwhelmed by the crazy Terraform/Terragrunt management. I was genuinely thinking there should be a better way! formae sounds promising. At least the suffering you explained with classic IaC is real. Started tinkering with formae for the last couple of weeks. I hope this will grow and make our life easier!"

Raja

Data Platform Engineer

> "What I saw from the team was a perfect analysis and on point to the problems we‘ll have in platform engineering in the upcoming months and years - if we don’t change. Therefore I couldn’t be more excited to apply in practice what the team just launched!"

Alexander Heusingfeld

Vice President Tech Strategy @ Vorwerk Group

> "I’ve been looking at this project for a while and decided to give it a try. I’ve been using Terraform since the beta version, back in 2015/2016, and I think it would be nice to give formae a try to compare both. Sounds promising! Excited to start this journey and contribute to the community."

Raphael

DevSecOps Engineer

> "I really like that Platform Engineering Labs is rebooting the space that is totally important for the modern IT, but is very prone to error and deprived of innovation for decades."

Mirco Kater

Information Security Officer at Ona

> "This platform could be a major breakthrough in managing infrastructure in software projects. It allows both easier services management, dependency discovery and gives engineers a new way to collaborate."

Robert Rychlik

Director of Technology, Tipico

## Frequently asked questions

[Get in Touch](https://platform.engineering/contact)

- **What happens to everything my team and I know?**

  **Build on it. Put it to work.** Your knowledge is gold, and you need it. But you don't need the toil other tools throw at you. And you don't need to learn hidden semantics and provider misbehavior.
- **What about the infrastructure we inherited, patched, and never fully documented?**

  **Discover it. Evolve it.** Automatically codify what is really running in minutes and make minimum-blast-radius changes right away - no manual inventory, imports, or cleanup needed.
- **What about all the Terraform and Helm we already have?**

  **Keep it. Reuse it.** Use existing Helm charts and Terraform values quickly, then move at your own pace.
- **Doesn't AI know other tools better?**

  **Show it formae. Put it to work.** A short primer, a few skills, one MCP - and AI helps make safe, high-impact changes fast.
- **Is there a migration risk?**

  **Run side by side. Move gradually.** Start small with one resource, one property, or one chart. No mandates. No rewrites.

## Ready to try formae?

Start using formae in minutes, or talk to us about running it at scale.

[Quick Start](https://docs.formae.io/)

[Pricing](https://formae.ai/pricing)
