Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

🎃 Generate llms.txt and llms-full.txt from the repo docs so AI agents can read them

Đang mở
#862 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

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

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ả

documentation enhancement hacktoberfest help wanted

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.com is done by the website team: the website lives in a separate repository and pulls content from here with scripts/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

  1. scripts/generate-llms-txt.mjs (plain Node ≥22, no new dependencies), writing into content/llms/:
    • llms.txt: follows llmstxt.org. H1 # AnythingMCP, a one-paragraph > summary (reuse the README tagline), then H2 sections with - [Title](url): one-line description links:
      • Docs: every docs/**/*.md except pages about running our Cloud: docs/operations/signup-attribution.md, docs/operations/slo.md, plus docs/ADOPTERS.md and docs/AUTHORS.md. Keep backup-restore.md, disaster-recovery.md and observability.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 as https://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).
    • llms-full.txt: the full Markdown of the "Docs" section plus the English guides. For each file: strip MDX front matter, write # <title> and Source: <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 .mdx guide (front matter turned into a title and description header), so the website can serve /guides/<slug>.md next to the HTML page.
  2. A --check flag that exits 1 when the committed output is stale. Same pattern as the catalog check at .github/workflows/ci.yml:67.
  3. A CI step in the backend job of .github/workflows/ci.yml, next to Validate adapter catalog (line 48): node scripts/generate-llms-txt.mjs --check.
  4. Extend scripts/sync-guides-to-website.sh to also copy content/llms/llms.txt, content/llms/llms-full.txt and content/llms/guides/** into the website (target directory set by a new WEBSITE_PUBLIC_DIR env var; skip with a message when it is unset). The website team wires the route.
  5. Unit tests with node --test in scripts/generate-llms-txt.test.mjs (see scripts/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); see content/guides/en/billomat-to-mcp.mdx.
  • scripts/sync-guides-to-website.sh:57 — loop that copies the .mdx guides into the website repo; :81 copies 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 --test style used for scripts.

Acceptance criteria

  • node scripts/generate-llms-txt.mjs produces content/llms/llms.txt, llms-full.txt and guides/<locale>/*.md; running it twice gives byte-identical output.
  • llms.txt follows llmstxt.org (H1, blockquote, H2 link lists) and every link is absolute.
  • The excluded Cloud-internal pages and anything resembling a .env file stay out of the output (a test asserts this).
  • --check fails CI when a doc changes without regeneration.
  • node --test scripts/generate-llms-txt.test.mjs passes and runs in CI.
  • Docs updated: a short "For AI agents" paragraph in docs/guides.md pointing to https://anythingmcp.com/llms.txt, and a comment in sync-guides-to-website.sh explaining the new files.

Out of scope

  • Any route in packages/frontend or packages/backend serving 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 from catalog.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

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của HelpCode-ai/anythingmcp

Tất cả issue của HelpCode-ai/anythingmcp

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.