Maguyva 对 JavaScript 的支持:面向混合运行时代码仓库的 AI 搜索
适合那些混合了 CommonJS、ESM、任务脚本、测试和较旧应用代码的代码仓库。
扩展名
.cjs, .js, .mjs, .spec.js, 还有 2 个
TypeScript 是许多团队期望 AI 辅助重构终于能感到安全的语言。类型系统确实有帮助,但它并没有消除真正的问题:共享包、DTO、生成的客户端、React 组件、测试和应用代码,统统在一个大型代码仓库中争用着相同的名字。
对 TypeScript 而言,标准要高于“它能理解语法”。智能体需要在修改某个共享类型、Hook 或客户端之前,追踪从定义到实现再到影响范围的完整契约链条。
Maguyva 会在 .ts、.mts、.cts 以及测试和 Story 周边常见的 TypeScript 文件变体中,提取类、方法、接口和类型别名。成员前缀会被规范化,但类限定的标识符会被保留——这在一个代码仓库同时存在裸露的辅助函数名和末段相同的类作用域方法时会很有帮助。
JSX 被当作真正的结构信号来处理,而不是散落的标记;符号预期也明确跳过了大量测试、Story 和配置路径。这一点在 Monorepo 中很重要,否则智能体会把太多时间花在重新发现脚手架代码上,而不是真正的实现层面。
通常三个起手模式就够用了:
find_symbol。dependency_search。structural_search。对于诸如“追踪结账提交路径”这类概念性问题,get_task_context 往往是比原始搜索更好的第一步。
这个页面最适合 TypeScript 作为多个包协调层的 Web 与平台 Monorepo。如果你的代码仓库仍包含大量较旧的 JS,可以读一读 JavaScript 指南。如果你的问题其实是“智能体能否同时把握应用代码和基础设施上下文”,可以把这个页面和 Terraform 搭配阅读。
最适合场景
智能体工作流
引擎细节
常用 MCP 入口工具
find_symbol
当你已知想要查看的共享接口、类型别名、hook 或服务时,从这里开始。
dependency_search
在修改共享 DTO 或客户端前使用,以获得跨包的真实影响范围。
structural_search
当你需要的是模式匹配而非字符串匹配时,例如重复出现的组件或方法结构,使用 AST 级搜索。