Skip to content

Migrate llms.txt to Nuxt via nuxt-llms - #5557

Merged
ZJvandeWeg merged 2 commits into
mainfrom
zj-nuxt-llms-txt
Aug 10, 2026
Merged

Migrate llms.txt to Nuxt via nuxt-llms#5557
ZJvandeWeg merged 2 commits into
mainfrom
zj-nuxt-llms-txt

Conversation

@ZJvandeWeg

Copy link
Copy Markdown
Member

Summary

  • Replaced the hand-maintained 11ty src/llms.njk (hardcoded links + loops over four collections, with .md-suffixed doc links that never actually resolved to anything) with the nuxt-llms module.
  • Sections are built from @nuxt/content collections 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).
  • handbook is deliberately excluded (internal company content, not product docs) - documented in README.md. Everything still on the legacy Eleventy site (customer-stories, use-cases, platform, etc.) is invisible to @nuxt/content and so is also absent until those pages migrate.
  • /llms-full.txt is now real (was previously just a redirect to /llms.txt), and the /raw/<path>.md endpoint is enabled, so llms.txt links now point at actual markdown 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 falling through to the 11ty proxy.
  • nuxt.config.ts's llms block (and site/robots.sitemap) now source baseURL/appURL/messaging from src/_data/site.json instead of duplicating those strings, matching the pattern already used by nuxt/components/Cta*.vue.
  • Fixed a genuinely empty list item in src/blog/2022/10/flowforge-1-released.md that crashed llms-full.txt generation (hast-util-to-mdast throws on an <li> with no children).

Test plan

  • npm run dev:nuxt: /llms.txt returns 200 with expected sections (Documentation, Blog, Changelog, Ebooks, Whitepapers, Product & Company) and no Handbook/Pages leakage
  • /llms-full.txt returns 200 (was 500 before the empty-list-item fix)
  • /raw/docs/admin/introduction.md and /raw/blog/2026/07/build-downtime-logger.md both return 200 with content-type: text/markdown
  • Confirm on a deployed preview that /llms.txt and /llms-full.txt prerender correctly in production build

🤖 Generated with Claude Code

…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.
@ZJvandeWeg
ZJvandeWeg requested review from a team and Yndira-E as code owners August 10, 2026 17:06
@ZJvandeWeg ZJvandeWeg self-assigned this Aug 10, 2026
@netlify

netlify Bot commented Aug 10, 2026

Copy link
Copy Markdown

Deploy Preview for flowforge-website ready!

Name Link
🔨 Latest commit 64ce733
🔍 Latest deploy log https://app.netlify.com/projects/flowforge-website/deploys/6a7a05226e2da5000866f921
😎 Deploy Preview https://deploy-preview-5557--flowforge-website.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
Lighthouse
Lighthouse
1 paths audited
Performance: 61 (🔴 down 7 from production)
Accessibility: 96 (no change from production)
Best Practices: 100 (no change from production)
SEO: 85 (🔴 down 7 from production)
PWA: -
View the detailed breakdown and full score reports

To edit notification comments on pull requests, go to your Netlify project configuration.

@ZJvandeWeg
ZJvandeWeg merged commit 13ae1ad into main Aug 10, 2026
7 checks passed
@ZJvandeWeg
ZJvandeWeg deleted the zj-nuxt-llms-txt branch August 10, 2026 19:19
@ZJvandeWeg

Copy link
Copy Markdown
Member Author

cc @sumitshinde-84

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant