DOM Explorer 和 Code Graph 将整个代码库显示为交互式依赖图;对于 Web 项目,还会显示与其所触发行为相关联的真实 DOM 元素。
DOM Explorer 与 Code Graph
代码依赖图
Code Graph 将项目中的文件可视化为通过 import 相连的节点。文件会根据 import 模式自动聚类为社区,因此无需手动绘制,就能一眼看出自然的模块边界。
- God nodes — 依赖数量异常多的文件,是拆分的良好候选。
- Dead code — 没有入边的文件(没有任何文件 import 它),很可能可以安全删除。
- 循环依赖 — 相互 import 的文件组,会使重构变得复杂。
data-aitm 属性是什么
对于 Web 项目,AITM 还会通过每个交互元素(按钮、输入框、容器)上的 data-aitm="MODULE.ELEMENT" 属性来映射真实的 DOM 元素。该代码将可见元素与其在代码中的行为 — 它触发的处理函数、目标路由或 API 调用 — 以及记录该行为的 Behavioral Contract 联系起来。
点击到效果的链路
当带有 data-aitm 的元素同时带有 data-action 时,AITM 会跟踪点击它所产生的效果 — 打开弹窗、导航、调用 API 或发出 socket 事件。这些“点击 → 效果”链路在文件依赖图之外形成了另一张映射;AI 在改动某个 UI 元素之前会先读取它们,以便在修改前了解变更的影响范围。
自愈的 E2E 选择器
由于每个 data-aitm 代码都与其当前的 DOM 选择器一起存储在数据库中,E2E 测试可以通过稳定的代码来查找元素,而不是依赖脆弱的 CSS/XPath 选择器。当 DOM 结构发生变化时,映射会在下次 Pipeline 运行时自动重新解析,因此测试不会仅仅因为类名被重命名或标签被移动而一直失败。
提示
- 利用 god-node 高亮,找出按 CLAUDE.md 规则值得拆分的文件。
- 没有
data-aitm属性的元素永远不会出现在效果映射中 — 请为每个新的交互元素都添加一个。 - 点击图中的任意节点,可查看它 import 的文件和 import 它的文件。