/ llmtxt.info

Validateur llms.txt

Collez votre fichier (ou une URL) et vérifiez la conformité à la spec. Tourne entièrement dans votre navigateur — rien n'est envoyé à un serveur.

Dernière mise à jour:

Validateur

Le fetch passe par un fetch() navigateur. Certains sites ne retournent pas les headers CORS ; dans ce cas, collez le contenu du fichier ci-dessous.

Ce qu'on vérifie

Le validateur implémente les règles de llmstxt.org :

  • H1 obligatoire. Exactement un heading de niveau 1, première ligne non vide.
  • Résumé en blockquote. Recommandé juste après le H1.
  • Sections H2 file-list. Chaque section est une liste Markdown d'items - [name](url), avec : notes optionnelles.
  • URLs absolues. Les URLs relatives sont signalées en warning.
  • Pas de contenu hors section. Après le premier H2, seules des file lists sont attendues.
  • Garde-fou de taille. Les fichiers > 50 Ko reçoivent une note info suggérant llms-full.txt.

Chaque diagnostic inclut un code de règle (ex. H1_REQUIRED, URL_RELATIVE) que vous pouvez grepper dans les logs CI.

Utiliser depuis la CI

Le même parseur est publié dans le dépôt open-source de ce site, vous pouvez le brancher dans votre build. Check Node minimal :

import { readFileSync } from 'node:fs';
import { parseLlmsTxt, summarize } from 'llmtxt-info/validate';

const input = readFileSync('public/llms.txt', 'utf8');
const parsed = parseLlmsTxt(input);
const sum = summarize(parsed);

if (!sum.passes) {
  for (const d of parsed.diagnostics) {
    console.error(`${d.severity.toUpperCase()} [${d.rule}] line ${d.line}: ${d.message}`);
  }
  process.exit(1);
}
console.log(`OK — ${parsed.sections.length} sections, ${parsed.sizeBytes} bytes`);

Sources