@agentmarkup/nuxt

Build-time llms.txt, llms-full.txt, A2A Agent Cards, JSON-LD, markdown mirrors, headers, AI crawler controls, and validation for Nuxt (prerendered / nuxt generate output)
307 28
Install
npm install @agentmarkup/nuxt
Latest Version:0.7.0
Vue:3
License:MIT
Last Updated:Aug 27, 2026
Links: GitHub  ·  npm
Maintainer: cochinescu

@agentmarkup/nuxt

Make your Nuxt site machine-readable for LLMs and AI agents at build time. A thin Nuxt module on top of @agentmarkup/core that generates llms.txt, markdown mirrors, JSON-LD, AI-crawler robots.txt, and _headers from your prerendered output.

Install

npm install -D @agentmarkup/nuxt

Usage

// nuxt.config.ts
export default defineNuxtConfig({
  modules: ['@agentmarkup/nuxt'],
  agentmarkup: {
    site: 'https://example.com',
    name: 'Example',
    llmsTxt: {
      sections: [
        { title: 'Docs', entries: [{ title: 'Home', url: 'https://example.com/' }] },
      ],
    },
    markdownPages: { enabled: true },
    aiCrawlers: { GPTBot: 'disallow' },
  },
});

The module runs after Nitro finishes prerendering (the nuxt generate / prerender: true path), injecting discovery + JSON-LD into the emitted HTML and writing the machine-readable assets into the prerender output directory (.output/public).

What it does

  • Generates llms.txt (and optional llms-full.txt) from your config.
  • Generates content-centric markdown mirrors (.md) for prerendered pages, with canonical Link headers in _headers.
  • Injects an llms.txt discovery link and a text/markdown alternate link into each page <head>.
  • Injects gap-aware JSON-LD (only types not already present on the page).
  • Adds AI-crawler rules to robots.txt, including the canonical Content-Signal policy alongside them, plus the optional Content-Signal _headers header.
  • Runs deterministic validation and prints a build-time report.

llmsTxt.whenToUse takes a short list of the concrete jobs your site is right for, rendered as a labelled bullet list in the free-form part of llms.txt before the first ## section. It tells an agent when to reach for you, which a list of links does not. Be specific about the tasks, and say what the site is not for.

Existing curated llms.txt, robots.txt rules, and page JSON-LD are preserved by default — the module only fills gaps. Opt into replacement per feature (llmsTxt.replaceExisting, markdownPages.replaceExisting, jsonLd.replaceExistingTypes, etc.). Use markdownPages.exclude to skip mirroring pages that are not agent-fetchable content, such as a 404 page.

Scope

@agentmarkup/nuxt processes prerendered / nuxt generate output. Fully dynamic SSR routes that never emit build-time HTML are not patched automatically — use the re-exported @agentmarkup/core helpers inside app code (e.g. a route handler) for those.

Compatible with Nuxt 4. (The module only uses long-stable Nuxt Kit / Nitro APIs and is expected to work on Nuxt 3.7+, but support is currently scoped to Nuxt 4 until a Nuxt 3 build is verified.)

License

MIT — Sebastian Cochinescu and Anima Felix.

Related Packages

geoaeo

SEO, GEO, and AEO site audits with llms.txt, JSON-LD, sitemap generators, framew...

21,203 0
@enfyra/nuxt-seo

A powerful, configurable SEO module for Nuxt 4 with automatic OG image generatio...

2,867 0
@ranklint/nuxt

Nuxt 4 SEO module: sitemap.xml, robots.txt, typed JSON-LD and a live SEO panel i...

1,849 2
nuxt-schema-org

The quickest and easiest way to build Schema.org graphs for Nuxt.

3,647,670 196
@bynaree/orino

SEO and GEO audit tool for developers. Audits Next.js, Astro, SvelteKit, Nuxt, a...

1,558

Version History

Version Released Vue License
0.7.0 ^3.0 MIT
0.6.0 ^3.0 MIT
0.5.2 ^3.0 MIT
0.5.1 ^3.0 MIT
0.5.0 ^3.0 MIT