explaingit

gofireflyio/aiac

3,792GoAudience · ops devopsComplexity · 2/5Setup · easy

TLDR

A command-line tool that generates Terraform, Kubernetes, Dockerfile, and other infrastructure config files from plain-English prompts using OpenAI, Amazon Bedrock, or a local Ollama model.

Mindmap

mindmap
  root((AIAC))
    What it does
      IaC code generation
      Plain English prompts
      Multiple AI backends
    Output types
      Terraform configs
      Kubernetes manifests
      Dockerfiles
      CI/CD pipelines
      Shell scripts
    AI backends
      OpenAI
      Amazon Bedrock
      Ollama local models
    Install
      Homebrew macOS
      Docker image
      Go build from source
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Generate a Terraform configuration for a production EKS cluster by typing a plain-English description instead of writing HCL from scratch.

USE CASE 2

Create a Dockerfile for any tech stack by describing what the container needs to do in natural language.

USE CASE 3

Produce kubectl or AWS CLI commands for any operation by describing what you want to accomplish, even if you don't know the exact syntax.

USE CASE 4

Configure AIAC with Ollama to generate all infrastructure code locally without sending any data to external AI providers.

Tech stack

GoTOML

Getting it running

Difficulty · easy Time to first run · 30min

Requires creating a TOML config file with your chosen AI backend's API credentials before running any generation commands.

License terms not mentioned in the explanation.

In plain English

AIAC is a command-line tool and Go library that generates infrastructure configuration files by sending plain-English prompts to an AI language model. Infrastructure-as-Code, often called IaC, refers to the practice of defining server and cloud setups in configuration files rather than clicking through a web console manually. Writing these files from scratch requires knowing the specific syntax of tools like Terraform, Kubernetes manifests, or CloudFormation templates. AIAC lets you describe what you want in plain language and have the AI produce the configuration for you. For example, you could type a prompt like "terraform for a highly available EKS cluster" and AIAC sends that to the AI model of your choice, then saves or prints the resulting Terraform code. It works beyond IaC templates: you can also generate Dockerfiles, CI/CD pipeline definitions, database queries, shell scripts, and command-line instructions for tools like kubectl or the AWS CLI. The tool supports multiple AI providers. You can connect it to OpenAI, to Amazon Bedrock (AWS's managed AI service), or to Ollama for running models locally on your own machine. You configure backends in a TOML file and can define several at once, for instance one pointing at a staging AWS account and another at production. When running a command you specify which backend to use, and you can also list the models available in each backend before generating anything. Installing AIAC can be done through Homebrew on macOS, via a Docker image, or by building from source with Go. It is also available in the Arch Linux user repository. The configuration is minimal: create the TOML file with your API credentials, pick a default model for each backend, and the tool is ready to use from the command line or as an imported library in a Go project. The full README is longer than what was shown.

Copy-paste prompts

Prompt 1
Using AIAC, generate a Terraform config for a highly available EKS cluster with auto-scaling node groups, show me the command and how to save the output to a file.
Prompt 2
How do I configure AIAC with Ollama so it generates Terraform and Kubernetes configs using a local model without sending anything to OpenAI?
Prompt 3
Show me how to use AIAC to generate a Dockerfile for a Python FastAPI app that runs on port 8000 and uses a non-root user.
Prompt 4
Generate a GitHub Actions CI/CD pipeline YAML for a Node.js project that runs tests and deploys to AWS using AIAC.
Open on GitHub → Explain another repo

← gofireflyio on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.