Migrate llms.txt to Nuxt via nuxt-llms - #5557
Merged
Merged
Conversation
…kdown The 11ty llms.njk was a hand-maintained list of hardcoded links plus loops over four collections, and its .md-suffixed doc links never actually resolved to markdown anywhere. Replaced with the nuxt-llms module, driven off @nuxt/content collections already migrated to Nuxt (docs, blog, changelog, ebooks, whitepapers) plus a short manual list for standalone Nuxt routes with no backing collection (pricing, integrations, etc). This also enables /llms-full.txt for real (previously just a redirect to /llms.txt) and the /raw/<path>.md endpoint, which llms.txt now links to instead of full HTML pages. Added /llms.txt, /llms-full.txt, and /raw/ to the dev-mode legacy proxy allowlist so they resolve to Nuxt instead of 11ty. The handbook collection is intentionally excluded (internal company content, not product docs) - documented in README.md. Fixed a genuinely empty list item in a 2022 blog post that crashed llms-full.txt's markdown generation (hast-util-to-mdast chokes on an <li> with no children).
…nfig Companion to the previous commit (which only staged the src/llms.njk deletion due to a bad git add invocation): adds the nuxt-llms module registration and llms config block to nuxt.config.ts, sourced from src/_data/site.json (baseURL, appURL, messaging) rather than duplicating those values as separate hardcoded strings - same single-source-of-truth approach already used by nuxt/components/Cta*.vue. Also installs the nuxt-llms dependency, adds /llms.txt, /llms-full.txt, and /raw/ to the dev-mode legacy proxy allowlist, drops the now-dead /llms-full.txt redirect, documents the setup in README.md, and fixes the stale llms.njk reference in blogPosts.js's comment.
✅ Deploy Preview for flowforge-website ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Member
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Summary
src/llms.njk(hardcoded links + loops over four collections, with.md-suffixed doc links that never actually resolved to anything) with thenuxt-llmsmodule.@nuxt/contentcollections already migrated to Nuxt:docs,blog,changelog,ebooks,whitepapers, plus a short manual "Product & Company" section for standalone Nuxt routes with no backing collection (pricing, integrations, application-guide, terms, privacy-policy, account creation).handbookis deliberately excluded (internal company content, not product docs) - documented inREADME.md. Everything still on the legacy Eleventy site (customer-stories, use-cases, platform, etc.) is invisible to@nuxt/contentand so is also absent until those pages migrate./llms-full.txtis now real (was previously just a redirect to/llms.txt), and the/raw/<path>.mdendpoint is enabled, sollms.txtlinks now point at actual markdown instead of full HTML pages./llms.txt,/llms-full.txt, and/raw/to the dev-mode legacy proxy allowlist so they resolve to Nuxt instead of falling through to the 11ty proxy.nuxt.config.ts'sllmsblock (andsite/robots.sitemap) now sourcebaseURL/appURL/messagingfromsrc/_data/site.jsoninstead of duplicating those strings, matching the pattern already used bynuxt/components/Cta*.vue.src/blog/2022/10/flowforge-1-released.mdthat crashedllms-full.txtgeneration (hast-util-to-mdastthrows on an<li>with no children).Test plan
npm run dev:nuxt:/llms.txtreturns 200 with expected sections (Documentation, Blog, Changelog, Ebooks, Whitepapers, Product & Company) and noHandbook/Pagesleakage/llms-full.txtreturns 200 (was 500 before the empty-list-item fix)/raw/docs/admin/introduction.mdand/raw/blog/2026/07/build-downtime-logger.mdboth return200withcontent-type: text/markdown/llms.txtand/llms-full.txtprerender correctly in production build🤖 Generated with Claude Code