🎃 Generate llms.txt and llms-full.txt from the repo docs so AI agents can read them
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 52/100
- issue の種類
- 機能追加
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- github-actions, javascript, markdown, node.js
調査の方向性
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.
索引モデルが issue の本文から書いたものです。
説明
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.
- 主要言語
- TypeScript
- スター
- 856
- フォーク
- 82
- 平均マージ
- 8時間 27分
- マージ済み PR(30日)
- 104
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
HelpCode-ai/anythingmcp のほかの issue
-
good first issue hacktoberfest
難易度 2/5 半日 初心者へのやさしさ 70/100
HelpCode-ai/anythingmcp#996 ·
メンテナーはふだん 1 日以内に返信
-
good first issue hacktoberfest
難易度 2/5 半日 初心者へのやさしさ 72/100
HelpCode-ai/anythingmcp#995 ·
メンテナーはふだん 1 日以内に返信
-
enhancement good first issue hacktoberfest help wanted
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
HelpCode-ai/anythingmcp#982 ·
メンテナーはふだん 1 日以内に返信
-
good first issue hacktoberfest
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
HelpCode-ai/anythingmcp#745 ·
メンテナーはふだん 1 日以内に返信
-
🐣 Good first issue: contribute a new MCP adapter再び着手できるかも @7k777 が 20 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンenhancement good first issue hacktoberfest help wanted
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
HelpCode-ai/anythingmcp#150 · コメント 18 件 ·
メンテナーはふだん 1 日以内に返信
HelpCode-ai/anythingmcp の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
Agenta-AI/agenta#7542 · コメント 1 件 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
-
code quality security
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
enhancement good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 90/100
-
難易度 1/5 1時間未満 初心者へのやさしさ 82/100
homarr-labs/dashboard-icons#2939 ·
メンテナーはふだん 1 日以内に返信