用途:当用户需要安全地重命名、提取、拆分、移动或重组代码时使用,例如“安全重命名此函数”“把它提取成模块”“拆分这个服务”“把它移到新文件”。
主要能力:rename 支持多文件自动化重命名,可先用 dry_run 预览全部改动,区分图谱编辑(高置信)与文本搜索编辑(需人工核查);impact 按上游方向映射所有依赖者与受影响执行流程;context 查看符号的全部传入与传出引用;detect_changes 在重构后核对实际改动文件与符号、受影响流程及风险等级;cypher 用于自定义引用查询,例如 MATCH (caller)-[:CodeRelation {type: 'CALLS'}]->(f:Function {name: "validateUser"}) RETURN caller.name, caller.filePath ORDER BY caller.filePath。
使用方式:先做影响与流程排查。impact({target: "X", direction: "upstream"}) 映射依赖;query({search_query: "X"}) 查找涉及 X 的执行流程;context({name: "X"}) 查看全部引用。随后按接口→实现→调用方→测试的顺序规划更新。重命名用 rename({symbol_name: "oldName", new_name: "newName", dry_run: true}) 预览,确认后再 dry_run: false 应用,并用 detect_changes() 核实变更范围、跑受影响流程的测试。提取模块、拆分函数/服务同样先 context 再 impact,定义新接口、更新导入与调用方,最后 detect_changes 并测试。若提示索引过期,在终端运行 node .gitnexus/run.cjs analyze。
限制与风险:调用方较多(>5)时优先用 rename 自动更新;跨区域引用需 detect_changes 验证范围;字符串或动态引用要靠 query 查找;外部/公共 API 应做好版本管理与弃用。示例中 2 处文本搜索编辑(如 config.json 的动态引用)必须人工复核。其余具体支持语言、平台与收费信息暂未提供。