Skip to content

feat(docs): split llms.txt into spec-compliant index and full dump#2283

Open
asblanco wants to merge 2 commits into
v2from
asblanco/stacks-864-file-structure
Open

feat(docs): split llms.txt into spec-compliant index and full dump#2283
asblanco wants to merge 2 commits into
v2from
asblanco/stacks-864-file-structure

Conversation

@asblanco
Copy link
Copy Markdown
Contributor

@asblanco asblanco commented May 21, 2026

Context

eleventy-plugin-llms-txt produces a content-dump shape (# Site Content for LLMs + ### Page: + full body per entry) that does not match the llmstxt.org shape (H1 + blockquote summary + H2 sections + markdown link lists). The plugin has no config option that produces the spec shape — it's structurally a content dumper.

Description

  • /llms.txt — spec-compliant index. One H1, blockquote summary, 4 H2 sections (Base utilities, Components, Develop, Foundation), and a - [title](url): description line per page. HTML stripped from descriptions. ~17 KB / 76 entries.
  • /llms-full.txt — full content dump for tools that chunk page bodies (e.g. the MCP search index). Same output the plugin previously produced at /llms.txt, just at the new filename. ~440 KB.

Note

Why both files?
Only /llms.txt is in the llmstxt.org spec — the index is the standardized artifact. /llms-full.txt is an ecosystem convention (Mintlify, FernHQ, and others publish it) used to ship a full-content companion. We need it so the MCP search index has body content to chunk.

Warning

Coordination
A follow-up stacks-mcp-server PR #9 flips the v2 source URL from /llms.txt to /llms-full.txt. That PR is waiting on this one to deploy.

Test plan

  • Local build: _site/llms.txt matches spec shape (1 H1, 1 blockquote, 4 H2s, 76 link-list entries).
  • Local build: _site/llms-full.txt matches previous /llms.txt content.
  • After deploy, curl https://v2.stackoverflow.design/llms.txt returns the spec-shape index.
  • After deploy, curl https://v2.stackoverflow.design/llms-full.txt returns the full content dump.
  • Confirm the MCP PR can then index v2 successfully.

JIRA: STACKS-864

@asblanco asblanco requested a review from a team as a code owner May 21, 2026 09:09
@netlify
Copy link
Copy Markdown

netlify Bot commented May 21, 2026

Deploy Preview for stacks ready!

Name Link
🔨 Latest commit 32d39b1
🔍 Latest deploy log https://app.netlify.com/projects/stacks/deploys/6a0ecde5d22647000818cc4b
😎 Deploy Preview https://deploy-preview-2283--stacks.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

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

@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented May 21, 2026

⚠️ No Changeset found

Latest commit: 32d39b1

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Comment thread packages/stacks-docs/llms.11ty.js Fixed
@asblanco asblanco enabled auto-merge (squash) May 21, 2026 09:11
@asblanco asblanco self-assigned this May 21, 2026
CodeQL js/incomplete-multi-character-sanitization flagged the
single-pass regex strip in llms.11ty.js because an unclosed `<script`
(missing `>`) would leave the pattern in the output. Loop the
replace until the string is stable, per CodeQL's recommended fix.

Output is unchanged for all current inputs (frontmatter descriptions
are author-written and well-formed); this is defense in depth.
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.

2 participants