🎃 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
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 52/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, javascript, markdown, node.js
- Lĩnh vực
- build-system, ci-cd, documentation
Hướng nghiên cứu
Start with scripts/validate-adapters.test.mjs, .github/workflows/ci.yml:48-75, and scripts/sync-guides-to-website.sh:57,81; inspect docs/, content/guides/en/, and the sample guide’s front matter. Run the existing script tests with node --test and review the catalog CI check. Done means deterministic generated files, passing generator tests and --check in CI, website sync support, and the requested docs update.
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 #846.
Why
People increasingly ask Claude, Cursor or ChatGPT "how do I connect weclapp to AnythingMCP?" and the agent fetches our docs. HTML pages with navigation and JS are a poor input; the llms.txt convention gives agents a short index (/llms.txt) and a single plain-Markdown dump (/llms-full.txt). Mintlify, Cloudflare, Anthropic and Qonto (https://docs.qonto.com/llms.txt) already publish one. We have the source Markdown in this repo; we just never assemble it.
Self-hosted vs Cloud
- Self-hosted: not affected at runtime. This is a build-time script that produces two text files from the repo; nothing ships in the Docker image.
- Cloud (
DEPLOYMENT_MODE=cloud): not affected. The files describe public docs only; they contain no tenant data. - Who can use it: anyone (public files). Publishing on
anythingmcp.comis done by the website team: the website lives in a separate repository and pulls content from here withscripts/sync-guides-to-website.sh.
Decision: do not serve /llms.txt from the app (frontend/backend). The app on cloud.anythingmcp.com or a self-hosted instance is a product, not the documentation site, and an agent connected to it already gets workspace instructions over MCP. The canonical location is https://anythingmcp.com/llms.txt.
What to build
scripts/generate-llms-txt.mjs(plain Node ≥22, no new dependencies), writing intocontent/llms/:llms.txt: follows llmstxt.org. H1# AnythingMCP, a one-paragraph>summary (reuse the README tagline), then H2 sections with- [Title](url): one-line descriptionlinks:- Docs: every
docs/**/*.mdexcept pages about running our Cloud:docs/operations/signup-attribution.md,docs/operations/slo.md, plusdocs/ADOPTERS.mdanddocs/AUTHORS.md. Keepbackup-restore.md,disaster-recovery.mdandobservability.md, which self-hosters need. Keep the exclusion list in one constant at the top of the script. Link to the GitHub blob URL (https://github.com/HelpCode-ai/anythingmcp/blob/main/docs/...); the title is the file's first#heading. - Adapter guides: one line per
content/guides/en/*.mdx, title and description from the front matter, linked ashttps://anythingmcp.com/guides/<file-without-extension>. Ask in the PR if the website URL pattern differs. - Optional: the de/it guides (agents may skip these).
- Docs: every
llms-full.txt: the full Markdown of the "Docs" section plus the English guides. For each file: strip MDX front matter, write# <title>andSource: <url>, then the body. Rewrite relative links (../README.md,connectors/rest.md) to absolute GitHub URLs so they still resolve.content/llms/guides/<locale>/<slug>.md: the plain-Markdown version of each.mdxguide (front matter turned into a title and description header), so the website can serve/guides/<slug>.mdnext to the HTML page.
- A
--checkflag that exits 1 when the committed output is stale. Same pattern as the catalog check at.github/workflows/ci.yml:67. - A CI step in the
backendjob of.github/workflows/ci.yml, next toValidate adapter catalog(line 48):node scripts/generate-llms-txt.mjs --check. - Extend
scripts/sync-guides-to-website.shto also copycontent/llms/llms.txt,content/llms/llms-full.txtandcontent/llms/guides/**into the website (target directory set by a newWEBSITE_PUBLIC_DIRenv var; skip with a message when it is unset). The website team wires the route. - Unit tests with
node --testinscripts/generate-llms-txt.test.mjs(seescripts/validate-adapters.test.mjs): front-matter stripping, relative link rewriting, deterministic order (sort file names), and the excluded paths.
Where to look
docs/— the public Markdown docs (connectors, integrations, tool-definition, api-reference, sso, deployment…).docs/guides.md:5— says per-adapter guides are published at anythingmcp.com/guides.content/guides/{en,de,it}/*.mdx— adapter guides with YAML front matter (title,description,adapterSlug); seecontent/guides/en/billomat-to-mcp.mdx.scripts/sync-guides-to-website.sh:57— loop that copies the.mdxguides into the website repo;:81copies assets. This is where step 4 goes..github/workflows/ci.yml:48-75— existing "generate then fail if diff" checks to copy.scripts/validate-adapters.test.mjs—node --teststyle used for scripts.
Acceptance criteria
-
node scripts/generate-llms-txt.mjsproducescontent/llms/llms.txt,llms-full.txtandguides/<locale>/*.md; running it twice gives byte-identical output. -
llms.txtfollows llmstxt.org (H1, blockquote, H2 link lists) and every link is absolute. - The excluded Cloud-internal pages and anything resembling a
.envfile stay out of the output (a test asserts this). -
--checkfails CI when a doc changes without regeneration. -
node --test scripts/generate-llms-txt.test.mjspasses and runs in CI. - Docs updated: a short "For AI agents" paragraph in
docs/guides.mdpointing tohttps://anythingmcp.com/llms.txt, and a comment insync-guides-to-website.shexplaining the new files.
Out of scope
- Any route in
packages/frontendorpackages/backendserving llms.txt (see the decision above). - Changes to the website repository.
- Translating docs, or adding the generated adapter catalog (≈260 adapters) to
llms-full.txt. A follow-up can add it fromcatalog.ts.
Size
M (1–2 days)
How to claim
Comment "I'd like to work on this" and we'll assign you. Rules in #846.
- Ngôn ngữ chính
- TypeScript
- Star
- 856
- Fork
- 82
- Merge trung bình
- 6 giờ 15 phút
- Pull request đã merge (30 ngày)
- 141
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
-
Docs: document all SMTP_* and other undocumented env vars for self-hostingCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mởenhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
HelpCode-ai/anythingmcp#1049 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
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
-
good first issue hacktoberfest
Độ khó 2/5 Nửa ngày Mức phù hợp với người mới 72/100
HelpCode-ai/anythingmcp#995 ·
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 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
good first issue hacktoberfest
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
HelpCode-ai/anythingmcp#745 ·
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ự
-
Contrib indemnité de départ à la retraite : faire le pont avec le simulateur sur la page génériqueĐang mởP1
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
SocialGouv/code-du-travail-numerique#7561 ·
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 85/100
kubernetes-sigs/headlamp#7950 ·
Maintainer thường phản hồi trong vòng 3 ngày
-
README for cliCó thể đã có người làm @Janvi-kapoor đã nhận hôm nay. Đang mởOSCI'26
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
GauravKarakoti/SecureFlow#1308 · 1 bình luận ·
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 74/100
Maintainer thường phản hồi trong vòng 1 ngày
-
documentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
vitest-dev/vitest#11577 ·
Maintainer thường phản hồi trong vòng 1 ngày