Skip to content

库所有者

Context7 允许你添加自己喜欢的库和框架,以便开发者在编码环境中始终获得最新、可信的文档。

快速提交

添加库的最快方式是通过我们的 Web 界面:

提交库 ->

  1. 粘贴 GitHub 仓库 URL。
  2. (可选) 调整文件夹和排除项。
  3. 提交并让 Context7 解析和索引文档。

使用 context7.json 进行高级配置

为了更好地控制 Context7 如何解析和展示你的库,你可以在仓库的根目录下添加一个 context7.json 文件。该文件的作用类似于 robots.txt,用于告诉 Context7 如何处理你的项目。

配置字段

这是一个包含所有可用选项的 context7.json 文件示例:

json
{
  "$schema": "https://context7.com/schema/context7.json",
  "projectTitle": "Upstash Ratelimit",
  "description": "Ratelimiting library based on Upstash Redis",
  "folders": [],
  "excludeFolders": ["src"],
  "excludeFiles": [],
  "rules": ["Use Upstash Redis as a database", "Use single region set up"],
  "previousVersions": [
    {
      "tag": "v1.2.1"
    }
  ]
}

字段描述

  • projectTitle (string): 建议在 Context7 中显示的项目名称。仅当 LLM 无法以高置信度生成名称时使用。

  • description (string): 建议在 Context7 中显示的项目描述。仅当 LLM 无法以高置信度生成描述时使用。

  • branch (string): 要解析的 git 分支名称。如果未提供,将使用默认分支。

  • folders (array): 解析时要包含的特定文件夹路径。如果为空,Context7 将扫描整个仓库。根目录下的 markdown 文件始终会被包含。

  • excludeFolders (array): 文档解析中要排除的模式。支持简单名称、路径和 glob 模式(参见下文的“排除模式”)。

  • excludeFiles (array): 要排除的特定文件名。仅使用文件名,不要使用完整路径。例如:CHANGELOG.md、许可证文件或非文档内容。

  • rules (array): 编码代理在使用你的库时应遵循的最佳实践或重要准则。这些内容会作为推荐出现在提供给编码代理的文档上下文中。

  • previousVersions (array): 应在 Context7 中可用的库的先前版本信息。

    • tag: Git 标签或版本标识符
  • branchVersions (array): 应在 Context7 中可用的库的先前版本(基于分支)信息。

    • branch: Git 分支

排除模式

excludeFolders 参数支持多种模式类型以实现灵活排除:

  • 简单文件夹名称: "node_modules" - 排除树中任何位置名为 "node_modules" 的文件夹
  • 根目录特定模式: "./xyz" - 仅排除仓库根目录下的文件夹(例如,排除 /xyz 但不排除 /dist/xyz
  • 路径模式: "app-sdk/v2.3" - 排除特定路径及其下的所有内容
  • Glob 模式: "*.test", "temp*" - 排除匹配模式的文件夹
  • Globstar 模式: "**/dist", "docs/**/internal" - 高级路径匹配
  • 复杂模式: "src/**/*.test.js" - 排除 src 目录下的测试文件

示例:

  • "node_modules" - 排除任何位置的所有 node_modules 文件夹
  • "./build" - 仅排除根目录下的 build 文件夹(不排除 src/build
  • "app-sdk/v2.3" - 排除 app-sdk/v2.3 路径及其所有内容
  • "*.test" - 排除以 .test 结尾的文件夹
  • "docs/**/internal" - 排除 docs 下的任何 "internal" 文件夹
  • "**/temp" - 排除任何位置名为 "temp" 的文件夹

默认排除

如果你在 context7.json 文件中未指定 excludeFilesexcludeFolders,Context7 将使用以下默认模式:

默认排除文件

CHANGELOG.md, changelog.md, CHANGELOG.mdx, changelog.mdx
LICENSE.md, license.md
CODE_OF_CONDUCT.md, code_of_conduct.md

默认排除文件夹

*archive*, *archived*, old, docs/old, *deprecated*, *legacy*
*previous*, *outdated*, *superseded*
i18n/zh*, i18n/es*, i18n/fr*, i18n/de*, i18n/ja*, i18n/ko*
i18n/ru*, i18n/pt*, i18n/it*, i18n/ar*, i18n/hi*, i18n/tr*
i18n/nl*, i18n/pl*, i18n/sv*, i18n/vi*, i18n/th*
zh-cn, zh-tw, zh-hk, zh-mo, zh-sg

这些默认设置有助于编码代理避免无关、过时和非技术性的内容。

认领你的库

如果你是库的所有者,你可以在 Context7 上认领你的库,以解锁用于管理配置的基于 Web 的管理面板。这允许你:

  • 通过用户界面编辑设置,而不是提交文件更改
  • 邀请团队成员协作配置
  • 添加和管理库文档的多个版本
  • 获得更高的刷新操作速率限制

了解更多关于认领库的信息 →

谁可以管理配置?

  • 库作者: 通过 context7.json 声明所有权并通过管理面板管理设置,或者直接将配置添加到你的仓库中
  • 贡献者: 提交拉取请求以添加或更新配置
  • 社区成员: 针对热门库的解析方式提出改进建议

最佳实践

  1. 保持描述简洁: 用一句话解释你的库的用途。例如:“用于边缘和浏览器环境的无服务器 Redis SDK。”
  2. 排除无关文件夹: 使用 excludeFolders 跳过源代码、测试或构建产物。例如:["src", "test", "dist", "node_modules"]
  3. 添加有用的规则: 包含常见的陷阱或最佳实践。例如:“始终在 Redis 连接上调用 .close()”或“使用环境变量作为 API 密钥,切勿硬编码”
  4. 维护版本历史: 保持重要的先前版本可访问。v1.x 的用户仍然需要 v1.x 的文档,而不仅仅是最新的 v2.x

添加版本

要向现有库添加新版本:

  1. 将版本添加到 context7.json 文件: 使用新版本更新 previousVersions 数组:

    json
    "previousVersions": [
      {
        "tag": "v2.0.0",
        "title": "version 2.0.0"
      }
    ]
  2. 刷新你的库: 转到 Context7 上的库页面并触发刷新以索引新版本。

  3. 确认可用性: 搜索新版本或从 MCP 客户端运行 resolve-library-id 以确认它出现在结果中。

监控解析和质量

保持文档对代理有帮助:

  • 每次发布后查看呈现的文档
  • 使用 excludeFilesexcludeFolders 删减嘈杂的部分(例如,大型变更日志)
  • 当最佳实践发生变化时更新 rules,以便 AI 助手提供当前指导