用途:在用户询问 Devvit 的 API、开发模式、配置或示例(触发器等)时,从 reddit/devvit-docs 仓库查找并引用官方文档。
主要能力:通过项目本地缓存对 devvit-docs 做稀疏克隆,保持只含受跟踪的 Markdown 与 MDX 文档,每次运行校验检出;输出 JSON 描述文档目录与仓库路径。
使用方式:先运行脚本获取缓存与路径信息:node ./scripts/ensure-docs.cjs [--force] [--ttl <hours>] [--project-dir <path>] [--cache-dir <path>]。脚本路径相对该技能目录;--force 忽略缓存时效强制拉取,--ttl 设缓存小时数(默认 24),--project-dir 指定项目根用于版本探测(默认 cwd),--cache-dir 指定缓存基目录(克隆存于 <path>/devvit-docs,默认 <project-dir>/node_modules/.cache/devvit-skills)。随后读取 JSON 输出中的 docsRoot、repoDir、searchRoots、excludeRoots 等,按 searchRoots 顺序用 rg(不可用时用其他递归文本搜索工具)搜索 Markdown/MDX,先搜确切 API 名与关键词,再打开最匹配文件阅读上下文。
限制:只能以 reddit/devvit-docs 为事实来源,不得使用其他仓库、fork、博客或网络搜索结果;不得搜索或引用 excludeRoots 下路径;若未找到答案需说明并引用最接近的相关文件;引用须相对 repoDir 指明具体文件与章节并附最少必要代码示例。若首次无结果且 cacheStatus 为 cached,可带 --force 重跑一次再搜;若配置的搜索根不完整,可回退搜索 repoDir,但仍排除 excludeRoots。
依赖与环境:需要 PATH 中的 git,以及支持稀疏检出与部分克隆的较新 Git 版本;刷新失败时脚本会复用现有缓存;文档过期可用 --force 绕过 TTL。设置项收费、定价与更多细节暂未提供。