llms.txt in Jekyll
Jekyll treats any file without front matter as a static file. Drop llms.txt in the root and it ships as-is.
Last updated:
Where the file goes
Jekyll copies any file that does not start with an underscore or dot, and that has no YAML front
matter, straight into the built _site directory, preserving its path. A file named
llms.txt in the project root is served at /llms.txt.
Method: static file in the root
- Create the file at the repo root:
touch llms.txt - Write your content with no front matter (front matter would make Jekyll try to render it):
# Your Site Name
> One-sentence description of your site for LLM context.
## Core pages
- [Home](https://yourdomain.com/): what this site is about.
- [Blog](https://yourdomain.com/blog/): articles and updates.
- [About](https://yourdomain.com/about/): who maintains this site.
- Build and deploy:
bundle exec jekyll build.
Underscore and dot files
Jekyll ignores files and folders beginning with _ or . by default. This
does not affect llms.txt, but if you ever need such a file you must add it to the
include list in _config.yml:
# _config.yml
include:
- _example.txt
Verifying the setup
curl -sI https://yourdomain.com/llms.txt | grep -i content-type
# expect: content-type: text/plain Many Jekyll sites are hosted on GitHub Pages, which serves the file from the domain root. See the GitHub Pages guide for that setup, and the format guide to get the content right.