Repository navigation
Home
Ryan Beesley edited this page Jul 2, 2026
·
1 revision
ShowTree is a modern, PowerShell-native replacement for the classic tree.com command, redesigned for clarity, performance, and cross-platform compatibility.
If you are new to ShowTree, start here:
- Installation: Quick start via PowerShell Gallery.
- Basic Usage: Learn how to run your first tree discovery.
-
Display Modes: Understand the differences between
Normal,Tree, andListmodes.
For developers and contributors, these guides detail the internal mechanics of the module:
Explore the decoupled streaming architecture. Learn about:
-
The Traversal Engine: How
Get-TreeItemhandles recursive discovery using Win32 and PowerShell providers. -
The Rendering Pipeline: How
Format-Treeconverts data records into visual trees using connectors and styles.
Deep dive into our 100% PowerShell-based build process powered by Invoke-Build:
-
Transpilation: How we support modern syntax (like
??=and ternary operators) while remaining compatible with Windows PowerShell 5.1. - Bootstrapping: Automating the development environment setup.
Understand our high-fidelity validation strategy:
- Fixture Trees: Our in-memory filesystem simulation for platform-agnostic testing.
- Import Logic: How we use hash-based fingerprinting to ensure tests always run against the latest source code without session pollution.
ShowTree is highly extensible. Learn how to make it your own:
- Style Profiles: Customize ANSI colors for files, directories, and specific system states (Hidden, Symlink, Executable, etc.).
-
Filtering Rules: Master the precedence logic of
-Includeand-Excludeglob patterns.
We welcome contributions!
- Please review the Architecture Guide before submitting pull requests.
- Use the Issue Tracker for bug reports and feature requests.
“tree.com hasn't changed since the 1990s — but your filesystem has.”