Skip to content
Ryan Beesley edited this page Jul 2, 2026 · 1 revision

Welcome to the ShowTree Wiki

ShowTree is a modern, PowerShell-native replacement for the classic tree.com command, redesigned for clarity, performance, and cross-platform compatibility.


🚀 Getting Started

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, and List modes.

🛠 Technical Documentation

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-TreeItem handles recursive discovery using Win32 and PowerShell providers.
  • The Rendering Pipeline: How Format-Tree converts 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.

🎨 Customization

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 -Include and -Exclude glob patterns.

🤝 Contributing

We welcome contributions!


“tree.com hasn't changed since the 1990s — but your filesystem has.”