fastruct 是极简的 CLI 项目结构查看器。一条命令,项目目录树立刻呈现在终端。内置语法高亮,一眼区分目录、文件、符号链接与隐藏项。
类似 `tree` 命令的输出,但更聚焦项目结构。默认隐藏 node_modules、.git 等噪音目录,干净呈现你的源码布局。
目录、普通文件、隐藏文件、可执行文件、符号链接分别着色。一眼扫过去就知道项目里有什么类型的文件。
`--depth` 参数控制展开层级。深层项目也能看清根目录结构,再逐层深入。无限深度默认只推荐在小项目上使用。
每个节点旁显示相对路径。复制文件路径时无需手动拼接,对脚本编写和 CI 配置特别有用。
纯 C++ 编写,无运行时依赖。单文件二进制,启动即出结果,零延迟。性能与系统 `tree` 命令相当。
Arch Linux 用户可直接从 AUR 安装。brew / Linuxbrew 公式也在路线图中,逐步覆盖主流包管理器。
终端 256 色支持。目录亮蓝、普通文件默认色、隐藏文件灰显、可执行文件亮绿、符号链接亮青。忽略文件(.gitignore 规则)可根据 `--show-ignored` 决定是否显示。不支持 256 色的终端自动降级为 ANSI 16 色。
`-d 1` 只看根目录,`-d 2` 扩展到一级子目录,`-d 0` 或不传则显示完整树。配合 `--dirs-only` 只显示目录,`--files-only` 只显示文件,自由组合满足不同需求。
十万文件的项目,fastruct 的输出延迟在毫秒级。C++ 的 dirent 遍历 + 内存中的树构建,不做任何磁盘之外的 I/O。相比 Node.js 或 Python 实现的全目录读取,fastruct 几乎没有预热成本。
不同参数组合,适应不同场景。
完整目录树,语法高亮,自动排除 node_modules、.git。适合日常快速浏览。
只看前两层。大项目快速捕捉顶层结构,不会被深层细节淹没。
只输出目录节点,隐藏所有文件。适合汇报架构设计时使用。
显示 .gitignore 忽略文件和隐藏文件。调试 CI 配置或 dotfile 管理场景。