用途:codeknit 对源代码做静态结构提取,把符号(函数、类、方法、变量)与关系(调用、继承、包含)整理成紧凑的结构映射,主要供 LLM 消费或结构化工具集成。做结构分析(依赖梳理、重构规划、架构评审)时应读取 codeknit 输出而非原始源码;仅在需要查看或修改实现细节时才读源码。
主要能力:解析输入路径,输出 .skt 或 JSON;支持三种输出模式:directory-flat(默认,写入 ./skeleton/map_001.skt 等分块文件)、directory-tree(按源文件命名,拆分文件为 <source>_partN.skt)、inline(输出到 stdout,仅适合单文件或极少量文件)。默认省略 [edges] 以省 token,需关系数据时加 --edges;--minify 用 dict.skt 字典压缩重复 token;--collect-test 纳入测试文件。还提供 codeknit graph analyze 运行结构图算法,输出循环依赖、hub 符号、死代码、god class、瓶颈等报告。
使用方式:常用命令包括 codeknit parse ./src;重跑并清理旧输出 codeknit parse ./src --clean;单文件输出到 stdout codeknit parse ./src/main.go --output-mode inline;机器可读 JSON codeknit parse ./src --output-mode inline --format json --edges;自定义输出目录 codeknit parse ./src ./output;镜像源树 codeknit parse ./src --output-mode directory-tree。目录模式下输出目录默认 ./skeleton,若已有旧 .skt 文件会拒绝写入,需 --clean 才替换,且仅在成功生成后替换。常用参数:--output-mode、--format、--max-lines(默认 500,最小 3)、--collect-test、--minify、--edges、--clean、--workers、--verbose。graph analyze 参数有 -o/--output、--fan-threshold、--god-threshold、--max-inheritance-depth、--top-n、--betweenness-threshold、--propagation-cutoff 等。扫描可靠性方面支持 --include/--exclude GLOB、--max-file-size(默认 10 MiB,0 为不限)、--strict,符号链接会被跳过并报告。
适用场景:单文件快速查看、项目结构分析、依赖图、需要结构化数据的脚本集成。
限制:inline 模式会把全部内容打到 stdout,易超出上下文窗口,项目文件多时不要使用;标为 [unresolved] 或 [ambiguous] 的边是不确定关系而非确认依赖,图分析会排除不确定边并报告数量;包含规则不覆盖忽略规则或测试过滤。安装方式与收费信息暂未提供。