angeo/module-llms-txt

Magento 2 module for AI Engine Optimization (AEO). Generates spec-compliant llms.txt and llms-full.txt per llmstxt.org standard, plus JSONL for vector indexing. Multi-store, CLI, cron, Admin UI.

Maintainers

Package info

github.com/angeo-dev/module-llms-txt

Homepage

Type:magento2-module

pkg:composer/angeo/module-llms-txt

Statistics

Installs: 47

Dependents: 0

Suggesters: 2

Stars: 0

Open Issues: 2

2.1.3 2026-04-30 07:41 UTC

This package is auto-updated.

Last update: 2026-04-30 07:41:58 UTC


README

Packagist License PHP

Generates spec-compliant llms.txt and JSONL files for ChatGPT, Claude, Gemini, and Perplexity AI visibility.

Part of the Angeo AI Commerce Suite — open-source Magento 2 modules for AI Engine Optimization (AEO).
GitHub: github.com/angeo-dev · Website: angeo.dev

Installation

composer require angeo/module-llms-txt
bin/magento setup:upgrade
bin/magento cache:flush

Usage

CLI

# Generate for all active stores
bin/magento angeo:llms:generate

# Generate for a specific store
bin/magento angeo:llms:generate --store=en_us

# Skip JSONL (llms.txt only)
bin/magento angeo:llms:generate --no-jsonl

# Skip llms.txt (JSONL only)
bin/magento angeo:llms:generate --no-llms

Admin UI

Stores → Configuration → Angeo → LLMs.txt → click Generate Now.

Cron

Runs automatically every day at 02:00 server time. Each store is emulated in AREA_FRONTEND context so that URLs and locale always resolve to correct frontend values.

bin/magento cron:run --group=default

Generated files

Files are written to pub/media/angeo/llms/ and served via a PHP controller:

URL File
yourstore.com/llms.txt pub/media/angeo/llms/llms_default.txt
yourstore.com/llms.jsonl pub/media/angeo/llms/llms_default.jsonl

Multi-store: each store gets its own file (llms_en_us.txt, llms_de.txt, etc.) served at the store's base URL.

llms.txt format

Output follows the llmstxt.org spec — H1 title, metadata block, ## sections with markdown links:

# My Store

> Store URL: https://mystore.com
> Currency: USD
> Locale: en-US

## Categories

- [All products](https://mystore.com/all-products.html)
- [Sale](https://mystore.com/sale.html)

## Products

- [Product name](https://mystore.com/product.html): 99.00 USD

## Pages

- [About us](https://mystore.com/about): About page description.

Configuration

Stores → Configuration → Angeo → LLMs.txt

Setting Scope Description Default
Enabled Global Enable/disable the module Yes
Exclude This Store Store View Skip this store from generation No
Include Products Store View Add ## Products section Yes
Include Categories Store View Add ## Categories section Yes
Include CMS Pages Store View Add ## Pages section Yes
Generate JSONL Store View Also generate .jsonl file Yes
Product limit Store View Max products (0 = unlimited) 5000

Extending with custom providers

Register additional content sections via di.xml:

<type name="Angeo\LlmsTxt\Model\LlmsGenerator">
    <arguments>
        <argument name="providers" xsi:type="array">
            <item name="my_custom" xsi:type="object">Vendor\Module\Model\Llms\Providers\MyProvider</item>
        </argument>
    </arguments>
</type>

Implement Angeo\LlmsTxt\Api\ProviderInterface:

public function provide(StoreInterface $store): string
{
    return "## My Section\n\n- [Item](url): description\n\n";
}

Testing

vendor/bin/phpunit -c app/code/Angeo/LlmsTxt/phpunit.xml

The Angeo AI Commerce Suite

Free, MIT-licensed Magento 2 modules — packagist.org/packages/angeo · github.com/angeo-dev

Module Packagist Purpose
angeo/module-aeo-audit CLI AEO audit — 8 signals scored
angeo/module-llms-txt This module — llms.txt + JSONL generator
angeo/module-openai-product-feed ChatGPT Shopping CSV product feed
angeo/module-openai-product-feed-api ACP REST API — 6 endpoints
angeo/module-rich-data JSON-LD schema — Product, Organization, FAQ, Breadcrumb

Install the full suite:

composer require angeo/module-aeo-audit angeo/module-llms-txt angeo/module-openai-product-feed angeo/module-openai-product-feed-api angeo/module-rich-data
bin/magento setup:upgrade && bin/magento cache:flush

Changelog

See CHANGELOG.md.

License

MIT — see LICENSE