Treex

Treex是一个基于Go编写的命令行工具,用于目录可视化。它支持高级过滤(如深度限制、.gitignore规则、隐藏文件排除等)和多样输出格式(树形、缩进、Markdown、Mermaid图表),帮助用户更清晰地理解复杂项目结构。

https://github.com/shiquda/treexImage这是一个基于Go编写的命令行工具。我开发Treex,是因为我在日常的学习中遇到了这些问题:- 对于一个陌生技术栈的项目,可能有着复杂的项目结构,不知道从何入手- 想要快速告诉大模型一个项目的结构,让它辅助你理解- 编写项目文档时,需要插入目录结构的可视化- ……传统的tree工具针对小型目录还能工作,但是对于一些结构复杂的目录,就较为麻烦了。对于一些我们不关心的文件/目录,无法进行有效的排除(例如,node项目的node_modules),导致输出一长串树形图,根本无法起到可视化的效果。Image我曾经是自己写一个py脚本来解决这个问题,后来我将这个idea用go实现,做出了一个通用化的cli应用,希望能帮助到更多和我有类似需求的人。对比传统的tree命令,TA的优势是:1. 自定义的过滤器,包括: 1. 目录最大深度限制 2. 根据指定目录的.gitignore规则排除文件 3. 不显示隐藏文件 4. 排除自定义文件夹/文件扩展名2. 多样的输出格式,包括: 1. 树形输出(默认) 2. 缩进格式 3. Markdown格式 4. Mermaid流程图具体使用说明请见Github 项目mermaidgraph TD A[输入] --> B[目录遍历] B --> C[过滤规则] D --> E[格式转换] E --> F[输出] %% 过滤系统细节 C --> C1[文件后缀过滤] C --> C2[目录名过滤] C --> C3[.gitignore规则] C --> C4[隐藏文件过滤] %% 格式转换细节 F --> E1[树形格式] F --> E2[缩进格式] F --> E3[Markdown格式] F --> E4[Mermaid图表] C1 --> D[树结构构建] C2 --> D C3 --> D C4 --> D %% 附加特性 B1[最大深度限制] --> B E5[文件类型图标] --> ETreex还处于早期开发之中,希望更多人能够发现并体验这个工具,让Treex变得更好。谢谢!