🎃 Generate llms.txt and llms-full.txt from the repo docs so AI agents can read them
Maintainer thường phản hồi trong vòng 1 ngày
@Coding-Professional đang làm issue này rồi.
Từ ngày 22/10/2026.
- #1199 của @Coding-Professional — đang mở
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 65/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- github-actions, markdown, nodejs
- Lĩnh vực
- ci-cd, documentation
Hướng nghiên cứu
Start with scripts/adapter-count.mjs for the --check pattern and repository-root resolution, and with .github/workflows/ci.yml lines 48-75 for the existing generated-file checks. Build scripts/generate-llms-txt.mjs to write llms.txt and llms-full.txt deterministically, then add scripts/generate-llms-txt.test.mjs. Done means the generator runs twice with no diff, --check fails after a doc edit and passes after regenerating, and the tests pass.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Part of the October Challenge #997.
Why
AI assistants and coding agents increasingly look for an llms.txt file (the llmstxt.org proposal): a short Markdown index of a project's documentation with links, plus an optional llms-full.txt with the full text in one file. An agent asked "how do I add a SOAP connector to AnythingMCP?" can then read the right page instead of guessing. This repository has about 40 Markdown documents under docs/ (connectors, client integrations, deployment, operations, API reference, the tool definition format) but no llms.txt. The anythingmcp.com/llms.txt linked from README.md:268 belongs to the website and covers the site and its guides, not these docs. AGENTS.md tells coding agents how to work on the code; llms.txt is about using and operating the product.
Self-hosted vs Cloud
- Self-hosted: no runtime change. The two files live in the repository and are read from GitHub. They are not copied into the Docker image (the runner stage copies only build output and
start.sh,Dockerfile:127-146) and instances do not serve them. - Cloud (
DEPLOYMENT_MODE=cloud): no change. Do not put the files intopackages/frontend/public/:proxy.ts:42lets every path containing a dot through without sign-in, so they would be served by every self-hosted instance and by Cloud, which is not the goal. - Who can use it: anyone reading the public repository. Nothing is per user or per organization.
What to build
-
Generator
scripts/generate-llms-txt.mjs: plain Node, no new dependency, in the style ofscripts/adapter-count.mjsandscripts/regenerate-catalog.mjs. It writesllms.txtandllms-full.txtat the repository root. With--checkit exits 1 when the committed files differ from what it would write, likeadapter-count.mjs --check. -
llms.txtin the llmstxt.org format:# AnythingMCP, a one-paragraph>summary (reuse thedescriptionof the rootpackage.json), then##sections of- [Title](url): descriptionlines:- Getting started:
README.md,docs/deployment.md,docs/guides.md. - Connectors:
docs/connectors/*.md,docs/tool-definition.md. - AI clients:
docs/integrations/*.md. - Operations and security:
docs/operations/*.md,docs/sso.md,docs/scim-entra-setup.md,docs/license-faq.md. - Reference:
docs/api-reference.md,docs/mcp-resources.md,docs/knowledge-graph.md. - Contributing:
.github/CONTRIBUTING.md,AGENTS.md. ## Optional:docs/guides/*.md,docs/ROADMAP.md,docs/ADOPTERS.md.
Titles come from each file's first
#heading, descriptions from its first paragraph (first sentence, about 160 characters at most), with an override map in the script for files whose first paragraph is not a good summary. Links are absolute raw URLs onmain(https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/<path>), which agents can fetch as plain Markdown. - Getting started:
-
llms-full.txt: the same files in the same order, each introduced by a separator heading with its path and source URL. Rewrite relative links ((connectors/rest.md),(../README.md#…)) to absolute GitHub URLs, and drop images and HTML-only blocks. ForREADME.md:1-35, keep the title and the summary sentence and drop the banner, the star-history<picture>and the badge rows.docs/is about 300 KB today, which is fine for one file. -
Deterministic output: sorted file lists, no timestamps, LF line endings, so
--checkis stable. -
CI: one step in the backend job of
.github/workflows/ci.yml, next to "Verify the quoted adapter count and license wording" (:57-58):node scripts/generate-llms-txt.mjs --check. Addscripts/generate-llms-txt.test.mjsto thenode --testline that already runsscripts/validate-adapters.test.mjs(:51-52). Changes under.github/get extra review, so keep the workflow diff to these lines. -
Pointers: next to the website line in
README.md:268, add one for the repository's ownllms.txt, and the same inREADME.de.md,README.ja.mdandREADME.zh-CN.md(:286). In.github/CONTRIBUTING.mdandAGENTS.md, add one line: after changing docs, runnode scripts/generate-llms-txt.mjsand commit the result.
Where to look
docs/anddocs/guides.md(the current human-written index).scripts/adapter-count.mjs:--checkpattern and repository-root resolution..github/workflows/ci.yml:48-75: existing generated-file checks.README.md:1-35(HTML header),:268(website llms.txt link).packages/frontend/src/proxy.ts:42: why the files must not go intopublic/.
Acceptance criteria
-
node scripts/generate-llms-txt.mjswrites both files; running it twice produces no diff. - Every link in
llms.txtpoints to a file that exists in the repository (checked by the test). -
llms-full.txtcontains no relative Markdown links and no<picture>or<img>HTML (checked by the test). -
--checkfails after a doc is edited and passes after regenerating (checked by the test). -
node --test scripts/generate-llms-txt.test.mjspasses and the CI step is green. - README lines and contributor notes added.
Out of scope
- The website's
anythingmcp.com/llms.txt, which is maintained with the website. content/guides/(website guides in several languages, synced byscripts/sync-guides-to-website.sh) and the translated READMEs.- Serving the files from the app, or exposing the docs as an MCP resource.
Size
M (1–2 days)
How to claim
Comment "I'd like to work on this" and we'll assign you. Rules in #997.
- Ngôn ngữ chính
- TypeScript
- Star
- 856
- Fork
- 82
- Merge trung bình
- 8 giờ 14 phút
- Pull request đã merge (30 ngày)
- 258
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của HelpCode-ai/anythingmcp
-
good first issue hacktoberfest
Độ khó 2/5 Nửa ngày Mức phù hợp với người mới 70/100
HelpCode-ai/anythingmcp#996 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement good first issue hacktoberfest help wanted
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
HelpCode-ai/anythingmcp#982 · 10 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
DATABASE connectors keep a connection-string password in plaintext and return it to the browserCó thể đã có người làm @Riteesh-2k6 đã nhận hôm nay. Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
HelpCode-ai/anythingmcp#1245 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
good first issue hacktoberfest
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 85/100
HelpCode-ai/anythingmcp#1244 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Write example prompts and a FAQ for the German ERP satellites (JTL-Wawi, Haufe X360, Sage 100)Đang mởgood first issue hacktoberfest
Độ khó 3/5 Nửa ngày Mức phù hợp với người mới 82/100
HelpCode-ai/anythingmcp#1243 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của HelpCode-ai/anythingmcp
Issue tương tự
-
type: bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 79/100
Maintainer thường phản hồi trong vòng 1 ngày
-
0️⃣ phase/new
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 70/100
microsoft/playwright#43640 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100