Appearance
库所有者
Context7 允许你添加自己喜欢的库和框架,以便开发者在编码环境中始终获得最新、可信的文档。
快速提交
添加库的最快方式是通过我们的 Web 界面:
- 粘贴 GitHub 仓库 URL。
- (可选) 调整文件夹和排除项。
- 提交并让 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 文件中未指定 excludeFiles 或 excludeFolders,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声明所有权并通过管理面板管理设置,或者直接将配置添加到你的仓库中 - 贡献者: 提交拉取请求以添加或更新配置
- 社区成员: 针对热门库的解析方式提出改进建议
最佳实践
- 保持描述简洁: 用一句话解释你的库的用途。例如:“用于边缘和浏览器环境的无服务器 Redis SDK。”
- 排除无关文件夹: 使用
excludeFolders跳过源代码、测试或构建产物。例如:["src", "test", "dist", "node_modules"] - 添加有用的规则: 包含常见的陷阱或最佳实践。例如:“始终在 Redis 连接上调用
.close()”或“使用环境变量作为 API 密钥,切勿硬编码” - 维护版本历史: 保持重要的先前版本可访问。v1.x 的用户仍然需要 v1.x 的文档,而不仅仅是最新的 v2.x
添加版本
要向现有库添加新版本:
将版本添加到
context7.json文件: 使用新版本更新previousVersions数组:json"previousVersions": [ { "tag": "v2.0.0", "title": "version 2.0.0" } ]刷新你的库: 转到 Context7 上的库页面并触发刷新以索引新版本。
确认可用性: 搜索新版本或从 MCP 客户端运行
resolve-library-id以确认它出现在结果中。
监控解析和质量
保持文档对代理有帮助:
- 每次发布后查看呈现的文档
- 使用
excludeFiles或excludeFolders删减嘈杂的部分(例如,大型变更日志) - 当最佳实践发生变化时更新
rules,以便 AI 助手提供当前指导