# Dockerfile Studio
Source: https://docs.infraista.com/en/developer-tools/dockerfile-studio



Dockerfile Studio reads a repository in a sandbox, works out how the app builds and runs, and writes a
production-ready **Dockerfile*&#x2A; and **.dockerignore** (and, if you want, a **docker-compose.yml** for
local development). It explains every line, runs best-practice checks, and opens the files as a pull
request for your team to review.

<Shot name="developer-tools/dockerfile-studio/list" alt="Dockerfile Studio's history with a ready generation for northwind/web-app, its detected stack, outputs and estimated image size" />

The result is an AI suggestion: it's labeled **Review before merging**, and nothing is ever merged or
pushed to your default branch for you.

## How your code is handled [#how-your-code-is-handled]

* Each analysis clones the repository into a single-use sandbox with no network, deleted as soon as
  the analysis ends. Infraista keeps only the generated files and the detection summary.
* From `.env.example` files, only variable names are read, never values. Secret values never go into
  generated files.
* Source code isn't sent to the AI, and your code, prompts and generated files are never used to train
  AI models.
* Infraista writes to your repository only when someone opens a pull request, and never to the base
  branch.

## Also in [#also-in]

* **Code Security**: a Dockerfile finding can be fixed with AI, which improves your existing Dockerfile
  and opens a pull request.
* **Pipelines**: when a new pipeline's template builds an image and the repository has no Dockerfile,
  Dockerfile Studio can write one and include it in the same pull request.

## Where to go next [#where-to-go-next]

<SectionIndex />
