file-tree-cli
v0.0.2
Published
A powerful and flexible command-line tool for visualizing directory structures with advanced features and customization options.
Downloads
19
Maintainers
Readme
Features
- 🎨 Colorized output (directories in blue, files in cyan)
- 📏 Configurable directory traversal depth
- 🔍 Multiple filtering options:
- File extensions
- Regular expression patterns
- Hidden files
- Directories/files only
- 📊 File size display
- 📅 Last modified dates
- 🔄 Multiple sorting options
- 💾 Save output to file
- ⚡ Performance optimized
Usage
You can run the CLI tool directly using npx without installation:
npx file-tree-cli [options] [directory]If you prefer to install it globally (optional):
npm install -g file-tree-cli
file-tree [options] [directory]If no directory is specified, the current directory will be used.
Basic Examples
# Display tree of current directory
npx file-tree-cli
# Display tree of specific directory
npx file-tree-cli /path/to/directory
# Show tree with file sizes
npx file-tree-cli -s
# Show only JavaScript and TypeScript files
npx file-tree-cli --ext js,ts
# Show files modified dates and sizes
npx file-tree-cli -s -mAdvanced Examples
# Show only directories, sorted by name
npx file-tree-cli --dirs-only --sort name
# Show only JavaScript files and their sizes
npx file-tree-cli --ext js -s
# Show tree with custom depth and excluded directories
npx file-tree-cli -d 3 -e "dist,coverage"
# Show all files (including hidden) sorted by size
npx file-tree-cli -a --sort size
# Export tree to a file
npx file-tree-cli -o output.txtOptions
| Option | Description | Default |
| -------------------------- | ---------------------------------------------- | ------- |
| -d, --max-depth <number> | Maximum depth to traverse | ∞ |
| -a, --all | Show hidden files | false |
| -e, --exclude <items> | Comma-separated list of directories to exclude | [] |
| -s, --show-size | Show file sizes | false |
| -m, --modified | Show last modified date | false |
| -f, --pattern <pattern> | Filter items by regex pattern | null |
| --ext <extensions> | Filter by file extensions (comma-separated) | [] |
| --sort <type> | Sort items by: name, size, or date | name |
| -r, --reverse | Reverse sort order | false |
| --dirs-only | Show only directories | false |
| --files-only | Show only files | false |
| -o, --output <file> | Save output to file | null |
Output Format
The tool provides a structured view of your directory:
Directory
├── src
│ ├── index.ts [2.5KB] 2024-01-15
│ └── utils.ts [1.2KB] 2024-01-14
└── package.json [0.8KB] 2024-01-10Development
- Clone the repository:
git clone https://github.com/devxprite/file-tree-cli.git- Install dependencies:
cd file-tree-cli
npm install- Build the project:
npm run build- Test locally:
# Run directly from the project directory
npm start
# Or use npm link for global testing
npm link
tree [options] [directory]Contributing
Contributions are welcome! Here's how you can contribute:
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
