🧰 Generate a clean and customizable visual file tree of any directory from your terminal.
- 📂 Outputs a visual tree of files and folders
- 🚫 Supports ignoring files via
.gitignore,.tree-visualizer-ignore, or CLI patterns - 📏 Optionally includes file sizes
- 📉 Configurable maximum folder depth
- 🖨️ Outputs to console or a file
npm install -g @1amlabs/tree-visualizertree-visualizer [options]| Option | Description |
|---|---|
--start <dir> |
Directory to start scanning (default: .) |
--out <file> |
Output file path (writes plain text tree) |
--ignore <patterns> |
Ignore patterns (comma-separated or repeated, e.g., node_modules,**/*.ts) |
--sizes |
Include file sizes in the output |
--max-depth <n> |
Maximum folder depth to scan (default: unlimited) |
--debug |
Enable debug logging |
--use-gitignore |
Use .gitignore patterns for ignoring files |
--ignoreFile |
Specify the location of your ignore file |
Display the file tree of the current directory:
tree-visualizerScan a specific folder while ignoring node_modules and TypeScript files:
tree-visualizer --start src --ignore node_modules,**/*.tsInclude file sizes and limit the depth to 2 levels:
tree-visualizer --sizes --max-depth 2Write the result to a file:
tree-visualizer --out tree.txtUse your project's .gitignore for ignore patterns:
tree-visualizer --use-gitignoreYou can also use tree-visualizer as a library in your Node.js projects:
import { generateTree } from '@1amlabs/tree-visualizer';
await generateTree(
'./my-folder',
'tree.txt',
['node_modules', '**/*.log'],
{ showSizes: true, maxDepth: 2, debug: false }
);MIT © 1AMLabs