Export your project folder structure as a tree in multiple formats (md, txt, mdx, png, jpg, svg).
- Generate a visual tree of your folder structure easily.
- Export output in Markdown (
.md), plain text (.txt), MDX (.mdx), and image formats (png,jpg,svg). - Supports excluding files and folders based on
.gitignore. - Simple and user-friendly CLI interface.
Install globally via npm:
npm install -g tree-exportOr run directly using npx without installing:
npx tree-export -d ./target-folder -o output.md -f mdtree-export [options]| Parameter | Description | Default |
|---|---|---|
-d, --dir <path> |
Target directory to generate the tree from | Current directory (.) |
-o, --output <file> |
Output file path including filename | tree-output.md |
-f, --format <type> |
Output format: txt, md, mdx, png, jpg, svg |
md |
- Export current folder structure as a Markdown file:
npx tree-export -d . -o structure.md -f md- Export a specific folder structure as a plain text file:
npx tree-export -d ./src -o src-tree.txt -f txt- Export folder structure as an MDX file:
npx tree-export -d ./project -o project-structure.mdx -f mdx- Export folder structure as an SVG image:
npx tree-export -d ./src -o src-tree.svg -f svg- Export as PNG image:
npx tree-export -d ./src -o src-tree.png -f png- Export as JPG image:
npx tree-export -d ./src -o src-tree.jpg -f jpg- When a
.gitignorefile is detected, you will be prompted whether to exclude ignored files and folders. - SVG output uses
<foreignObject>, which may have limited support in some SVG viewers. - The CLI supports relative and absolute paths for both input directory and output file.
bin/index.jshandles CLI arguments and orchestrates the process.lib/tree-generator.jsreads and filters the directory tree, respecting.gitignoreand default ignore patterns.utils/export.jsgenerates the output in the requested format.
MIT © [Osman Beyhan]
Contributions, issues, and feature requests are welcome! Feel free to check the issues page and submit pull requests.
Happy tree exporting! 🌳🚀