@ draht/ 工具
教会的CLI 完成任务 方法.
这个包是真实的单一来源 draht-tools 二进制用于:
draht-claude— Claude 代码插件@draht/coding-agent- 编码代理CLI
两份消费品副本 bin/draht-tools.cjs 进入他们自己的 bin/ 在构建/ 发布时, 产生的 npm 沥青球保持自成一体 .
图标
运行 draht-tools help 完整名单。 要点 :
| 命令 | 它会做什么 |
|---|---|
map-codebase [dir] | 生成 .planning/codebase/*.md 从当前重播 |
map-graph [dir] [--quiet] | 生成 .planning/codebase/MAP.json + 键 MAP.html + 键 GRAPH_REPORT.md - 那个 活地图 (单位:千美元)--quiet = JSON + 仅报告,为钩子) |
map-serve [port] | HTTP 服务器带有活重装——在浏览器中打开地图并在您代码时观看更新 |
graph-context <file…> | 文件的位置:包、层、组、进出口、汇、理由 |
graph-impact <file…> | 爆炸半径:逆向依赖、到达的入口、下游汇、边界警告 |
graph-query <term…> | 排名符号 + doc 搜索 - 替换 grep 为"找到X" |
graph-callers 编号 : graph-callees <file> | 谁叫/什么叫(N跳过) --depth(中文(简体) ) |
graph-path <from> <to> | 两个文件之间最短的导入路径 |
graph-hotspots 编号 : graph-clusters [--surprising] | 神-节点/结构邻接+出人意料的联系 |
graph-hook install|uninstall|status | 更新地图的 Git 后承诺钩 |
init 编号 : create-project 编号 : create-roadmap /... (中文(简体) ) | 规划脚手架(见 help(中文(简体) ) |
全体 graph-* 命令为 只读 (从未变异) MAP.json),默认打印简洁文本(--json 在没有地图的情况下,优雅地降低(run map-graph first) (中文(简体) ).
生活建筑图
map-graph 构建一个交互式、 有图形化风格 知识图 您的代码库—— 不仅仅是数据 :
-
MAP.json (英语) (schemaVersion 5)——入站口(CLI bins, HTTP 路由, 库主出口),汇(FS / net / DB / stdout / exec calls),受限上下文(packages),跨包装数据流边缘,符号解调边,流量,每个模块建筑层(介绍/应用程序/域/基础设施/支持),每个文件的出入口 加号数字 :
symbols(同位素水平节点与行号),clusters+ 每个模块cluster, (中文(简体) ),hotspots(神-节点 / 最有潜质的 / 管弦乐手 / 最大),surprisingConnections(桥/跨组/层-活化边缘),rationaleIndex(内在NOTE编号 :WHY编号 :HACK编号 :TODO编号 :FIXME编号 :SECURITY说明)和EXTRACTED编号 :INFERRED编号 :AMBIGUOUS每个边上都有自信 只有代码文件成为modules—— docs/config/lockfiles/images等不包含在模块图中(使导入/集群/热点没有非代码噪声),但仍显示在stats.languages并仍在扫描rationaleIndex注释。 阅读一次,你知道软件如何实际运作,或用graph-*命令,而不是复制. -
(简体中文) ——一种决定性的,可轻描淡写地叙事:概述,关键概念(顶级集群),神节点,出人意料的联系,原理要领,以及模板化的建议问题. 先读一页.
-
MAP.html (英语) ——一个具有三个分页的交互式查看器:
- 图 – 交互式由力量引导的画布图:以集群为颜色并按地平分大小的节点,默认每组倒塌为1个超级节点;搜索,层/集群/对接自信过滤器,一个检查器(文件,符号,进口商,呼叫者)和PNG/SVG导出.
- 建筑 ——分层带装有跨包数据流箭头(厚度=导入计数)的包容器;单击包以求细节,双击组头以聚焦.
- 流量 ——上起入分,下起入分,中间模块按深度排名. 选择一个条目 —— 追踪它到达的汇和通过哪个模块.
MAP.html将地图数据嵌入其中,因此它通过file://- 不需要服务器 运行draht-tools map-serve而不是一个在编辑时将更新推过 SSE 的活版重载 Dev 视图 .
map-graph 财务报告和审定财务报表 map-codebase 总是映射 整个仓库 从 gi根起,不论任何 [dir] 参数——目录参数只涵盖叙述性分析(map-codebase校对:Soup 每个代码文件保存上的地图重生( 文件/ 资产保存被设计忽略) map-serve 模式 (fs.watch + 服务器- 恒星事件),以及每一次承诺,如果您 graph-hook install。该建筑是 决定性 (git-presmitable)和写作是一能的——不进行重建产生0 diff. 无需手写架构文件——地图总是流传.
查询图表( 而非刻录)
这个 graph-* 命令让代理(和您)在不走行走树的情况下定向:
draht-tools graph-context src/auth/session.ts # package · layer · cluster · callers · sinks
draht-tools graph-impact src/auth/session.ts # what breaks if I change this
draht-tools graph-query auth storage # find the symbol/concept (ranked, no grep)
draht-tools graph-path a.ts b.ts # how does A reach B
draht-tools graph-clusters --surprising # neighborhoods + anomalous edges
建筑
自成一体的共同JS,零运行时间依赖关系,节点为 ≥20. 只装入 node:fs, (中文(简体) ), node:path, (中文(简体) ), node:child_process, (中文(简体) ), node:http。 。 。 .