Outcropby Basalt

Guide ·

llms.txt for a software product: what we put in ours

llms.txt is a short text file at the root of a site that tells language models what the site is and which pages matter. Basalt Studio added one to its sites on 19 Oct 2026, and to KahveDrop with its deploy the next day. Here is what we put in, with excerpts from the live files, and what to expect from it.

What it is

A proposal, not a standard

llms.txt is a proposal published at llmstxt.org. The file lives at /llms.txt and is written in Markdown: the site’s name as a heading, a short summary in a quote block, any notes, then sections of links with a line on each. A section called “Optional” marks links a model can skip when it is short of space.

It is not robots.txt. It does not allow or block anything. It is a summary for a reader that is a program.

What we put in

Four parts in every file

Each of Basalt’s product sites has its own file. The excerpts below are copied from the live files, fetched on 20 Oct 2026.

A one-paragraph summary

The product’s name as the title, then one paragraph in a quote block: what it is, who it is for, what it costs and who makes it. Upright’s, from its live file:

# Upright

> Upright is a free, open-source (MIT) macOS menu-bar app that remaps the buttons on Logitech mice without Logi Options+. It talks to the mouse directly over Logitech's HID++ protocol: gestures, per-app profiles, pointer speed (DPI) presets and battery alerts, with no account, no analytics and no background daemon. Made by Basalt Studio (https://hellobasalt.dev/).

A page list, one line each

Every page worth reading, with a link and one line on what is on it. The line says what a reader learns there, not just the page’s title. From ByeWall’s file:

## Pages

- [ByeWall home](https://byewall.hellobasalt.dev/): what it does, how to install it, and FAQ
- [archive.today extension](https://byewall.hellobasalt.dev/archive-today-extension): how ByeWall works as an archive.today extension, how it compares with Archive Page and the Wayback Machine extension, and what to do when archive.today is down
- [Privacy](https://byewall.hellobasalt.dev/privacy): what the extension and the website handle, and how to contact us

Limits, and what the product does not do

The facts an assistant is most likely to get wrong: platforms, requirements, prices and what the product does not do. From ByeWall’s file, then Outcrop’s:

ByeWall is listed on Firefox Add-ons. Chrome and Safari are development installs from the website; ByeWall is not on the Chrome Web Store. It does not capture pages automatically and does not unlock every paywall: it only finds copies that already exist in public archives.

Prices are fixed, in US dollars before VAT. No calls: scope and delivery happen in writing. Outcrop does not guarantee rankings, does not promise placement in AI answers, and does not buy links or do outreach in a client's name.

Contact

Where to write, in plain text. From the studio’s file at hellobasalt.dev:

Each product has its own site with its own llms.txt where available. Contact: hello@hellobasalt.dev (general), support@hellobasalt.dev (help with any product).

Writing yours

Rules we kept

  • Say what it is in the first sentence. “A free Mac app that…” beats a tagline.
  • Use full addresses, the same ones as in your sitemap and canonical tags.
  • State the limits. Platforms, requirements, prices, and what the product does not do. These are the facts most often wrong in AI answers.
  • Keep it in step with the site. Add a line when a page goes live. Outcrop’s file is written by the same build script as its pages, from the same list of packages and prices, so the two cannot drift apart.
  • Serve it as text. A 200 response with text/plain or text/markdown.

Check it

8 of our 8 product sites serve it today

On 19 Oct 2026, before the change, none of Basalt’s 8 product sites had an llms.txt. On 20 Oct 2026 at 10:56 UTC, all 8 returned one with a 200. To check your own:

curl -s -o /dev/null -w '%{http_code} %{content_type}\n' https://example.com/llms.txt

Basalt’s 8 product sites, 20 Oct 2026

Each /llms.txt fetched with curl, trimmed to the address, status, content type and size.

hellobasalt.dev                    200 text/plain; charset=utf-8     3274 bytes
upright.hellobasalt.dev            200 text/plain; charset=utf-8     3067 bytes
lull.hellobasalt.dev               200 text/plain; charset=utf-8     1821 bytes
gocmeden.hellobasalt.workers.dev   200 text/plain; charset=utf-8     4839 bytes
byewall.hellobasalt.dev            200 text/plain                    1446 bytes
kacpapel.app                       200 text/markdown; charset=utf-8  6566 bytes
kahve.hellobasalt.dev              200 text/plain                    2546 bytes
cosmicpost.lol                     200 text/plain                    2991 bytes

What to expect

A cheap test, not a ranking factor

No AI company has confirmed that its crawlers or assistants read llms.txt. It is not a ranking factor in Google or, as far as anyone has shown, anywhere else. Adding one will not move you up a results page.

We added it anyway because it is cheap: one small file, written once and kept up to date by the build. If an assistant does read it, it gets an accurate description of the product in our own words, limits included. If none does, it cost us a few lines of text. Your server logs can tell you whether anything fetches it.