# Adding llms.txt to a static site generator

> Static generators copy a static/public folder straight to your site root. Here's exactly where llms.txt goes in Hugo, Jekyll, Astro and Eleventy.

Static site generators have a folder whose contents are copied verbatim to your published site root — so adding an [llms.txt](/guide/what-is-llms-txt) is just dropping the file in the right place and rebuilding.

## Where the file goes, per generator

  - **Astro** — `public/llms.txt` (everything in `public/` is served from the root).

  - **Hugo** — `static/llms.txt` (the `static/` directory is copied to the output root). A custom output format also works for generating it.

  - **Eleventy (11ty)** — add a passthrough copy, e.g. `eleventyConfig.addPassthroughCopy("llms.txt")`, so the file lands in the output.

  - **Jekyll** — put `llms.txt` in the project root; Jekyll copies static files through to `_site` as-is.

## Build and verify

Run your build (`astro build`, `hugo`, `npx @11ty/eleventy`, `jekyll build`) and confirm `llms.txt` appears at the root of the output directory, then deploy.

## Generate it from your content (optional)

For docs-style sites, plugins exist (for Astro Starlight, Docusaurus, MkDocs, VitePress and others) that build the file from your pages automatically. Handy when content changes often — but keep the output curated.

## Validate

Paste your domain into the [validator](/) to confirm the file is reachable as plain text and every linked URL resolves.
