AI-ready content files(`llms.txt`)
LLMs Integration
The Nuxt Content module seamlessly integrates with nuxt-llms
to prepare your content for Large Language Models (LLMs). When nuxt-llms
is detected, Content module automatically extends the LLMs module and inject page
collection to the LLMs module.
Setup Guide
- First, install the required module:
npm install nuxt-llms
# or
yarn add nuxt-llms
- Configure your
nuxt.config.ts
:
// nuxt.config.ts
export default defineNuxtConfig({
modules: ['@nuxt/content', 'nuxt-llms'],
llms: {
domain: 'https://your-site.com',
title: 'Your Site Name',
description: 'A brief description of your site',
},
})
That's it!
Nuxt Content will automatically detect Nuxt LLMs module and will create a section to each page
collection.
Custom Sections
The Content module enhances the LLMs module by adding two key options to control content generation:
contentCollection
: Specifies which content collection to use as sourcecontentFilters
: Defines filters to select specific content within the collection
When generating content, the module uses these options to fetch and process your content into LLM-friendly formats (llms.txt
and llms_full.txt
).
All you need is to add your custom sections to the llms.sections
array and define the contentCollection
and contentFilters
for each section.
// nuxt.config.ts
export default defineNuxtConfig({
modules: ['@nuxt/content', 'nuxt-llms'],
llms: {
domain: 'https://your-site.com',
title: 'Your Site Name',
description: 'A brief description of your site',
sections: [
{
title: 'Documentation',
description: 'Technical documentation and guides',
// Specify which content collection to use
contentCollection: 'docs',
// Filter content as needed
contentFilters: [
{ field: 'extension', operator: '=', value: 'md' },
// You can add more filters here
]
},
],
},
})
contentCollection
option, the module will add page
collections to the LLMs module.Content Filtering
You can use contentFilters
to precisely control which content is included. Each filter consists of:
field
: The content property to checkoperator
: Comparison operator (=
,<>
,>
,<
,LIKE
,IN
,NOT IN
,IS NULL
,IS NOT NULL
, etc.)value
: The value to compare against
Example filters:
contentFilters: [
// Only include markdown files
{ field: 'extension', operator: '=', value: 'md' },
// Only include published content
{ field: 'draft', operator: '<>', value: true },
// Filter by directory
{ field: 'path', operator: 'LIKE', value: '/guide%' },
]