stolt/llms-txt-php

A library for writing, reading, and validating llms.txt Markdown files.

v2.0.1 2025-07-31 18:58 UTC

This package is auto-updated.

Last update: 2025-08-01 07:46:34 UTC


README

Test Status Version Downloads PHP Version PDS Skeleton llms.txt

Llms txt logo

This library supports you in creating, reading, and validating llms.txt Markdown files via PHP. A good example llms.txt file is the one from the uv project.

What's llms.txt?

Think of it like robots.txt for LLMs. The evolving spec is available over here. For the structure of a llms.txt file you can also have a look at this repository's llms.txt file.

Installation and usage

composer require stolt/llms-txt-php

Creating a llms.txt file

use Stolt\LlmsTxt\LlmsTxt;
use Stolt\LlmsTxt\Section;
use Stolt\LlmsTxt\Section\Link;

$section1 = (new Section())->name('Section name')
    ->addLink((new Link())->urlTitle('Link title')
        ->url('https://link_url')->urlDetails('Optional link details')
    );
$section2 = (new Section())->name('Optional')
    ->link((new Link())->urlTitle('Link title')
        ->url('https://link_url')
    );

$llmsTxt = (new LlmsTxt())->title('Test title')
  ->description('Test description')
  ->details('Test details')
  ->addSection($section1) // OR ->addSections([$section1, $section2])
  ->section($section2) // alias method
  ->toString(); // OR ->toFile('/path/to/llmsTxtToBe.md');

Validating and reading a llms.txt file and its parts

use Stolt\LlmsTxt\LlmsTxt;

$llmsText = (new LlmsTxt())->parse('/path/to/llmsTxt.md'); // OR parse('markdown-string')

if ($llmsText->validate()) {
    $title = $llmsText->getTitle();
    $description = $llmsText->getDescription();
    $details = $llmsText->getDetails();
    $sections = $llmsText->getSections();
}

For more usage examples, have a look at the tests i.e. LlmsTxtTest.php.

Tip

To interact with llms.txt files from the console, the complement package llms-txt-php-cli might come in handy.

Running tests

composer test

License

This library is licensed under the MIT license. Please see LICENSE.md for more details.

Changelog

Please see CHANGELOG.md for more details.

Contributing

Please see CONTRIBUTING.md for more details.