综合介绍
CodeWeaver 是一个命令行工具,旨在将代码库编织成单个、易于浏览的Markdown文档。它通过递归扫描目录,生成项目文件层次结构的结构化表示,并在代码块中嵌入每个文件的内容。这款工具的设计目标是简化代码库的分享和信息提取,特别适用于将代码库信息提供给AI/ML代码分析工具进行处理。

这是生成示例:https://github.com/tesserato/CodeWeaver/blob/main/codebase.md
功能列表
- 全面的代码库文档生成:生成一个Markdown文件,详细列出项目的目录和文件结构,以清晰的树状格式呈现。
- 代码内容嵌入:在生成的Markdown文档中嵌入每个文件的完整内容,并根据文件扩展名进行语法高亮。
- 灵活的路径过滤:使用正则表达式定义忽略模式,允许排除特定文件和目录(例如,.git,构建产物,特定文件类型)。
- 可选的路径记录:选择将包含和排除的文件路径列表分别保存到文件中,以便详细跟踪和调试忽略规则。
- 简单的命令行界面:提供直观的命令行界面,具有简单明了的自定义选项。
使用帮助
安装流程
使用Go安装
如果已安装Go语言环境,可以运行以下命令安装最新版本的CodeWeaver:
go install github.com/tesserato/CodeWeaver@latest
或者安装指定版本:
go install github.com/tesserato/CodeWeaver@vX.Y.Z
下载预编译的可执行文件
从发布页面下载适合的预编译可执行文件。
如果需要,可以使用chmod
命令使可执行文件具有执行权限:
chmod +x codeweaver
使用流程
获取帮助
运行以下命令获取帮助信息:
codeweaver -h
实际使用
运行以下命令生成文档:
codeweaver [options]
选项说明
选项 | 描述 | 默认值 |
---|---|---|
-dir | 要扫描和记录的根目录。 | 当前目录(.) |
-output | 输出Markdown文件的名称。 | codebase.md |
-ignore "" | 用逗号分隔的路径正则表达式模式列表,用于排除特定路径。 | .git.* |
-included-paths-file | 保存包含在文档中的路径列表的文件。 | 无 |
-excluded-paths-file | 保存因忽略规则被排除的路径列表的文件。 | 无 |
-help | 显示此帮助信息并退出。 | 无 |
使用示例
为当前目录生成文档
./codeweaver
该命令将在当前目录下创建一个名为codebase.md
的文件,记录当前目录及其子目录的结构和内容(排除匹配默认忽略模式\.git.*
的路径)。
指定不同的输入目录和输出文件
./codeweaver -dir=my_project -output=project_docs.md
该命令将处理my_project
目录,并将文档保存到project_docs.md
。
忽略特定的文件类型和目录
./codeweaver -ignore="\.log,temp,build" -output=detailed_docs.md
该示例将生成detailed_docs.md
,排除任何名称包含.log
、temp
或build
的文件或目录。正则表达式模式用逗号分隔。
保存包含和排除路径的列表
./codeweaver -ignore="node_modules" -included-paths-file=included.txt -excluded-paths-file=excluded.txt -output=code_overview.md
该命令将创建code_overview.md
,同时将包含的路径列表保存到included.txt
,将因node_modules
忽略模式被排除的路径列表保存到excluded.txt
。