DotnetTerminalExplorer 0.1.0

There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global DotnetTerminalExplorer --version 0.1.0
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local DotnetTerminalExplorer --version 0.1.0
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=DotnetTerminalExplorer&version=0.1.0
                    
nuke :add-package DotnetTerminalExplorer --version 0.1.0
                    

Dotnet Terminal Explorer

Dotnet Terminal Explorer (dte) is a deliberately lightweight, scoped file explorer for the terminal. It opens a filesystem tree on the left and a read-only text preview on the right.

Dotnet Terminal Explorer showing the filesystem tree and text preview

dte explores only the directory passed to it, similar to opening a folder with code. If the directory is omitted, it uses the current working directory.

Requirements

  • .NET 10 SDK to build the repository.
  • .NET 10 runtime to run the framework-dependent tool.

Installation

Option 1: Standalone Native Binary (Zero .NET runtime required)

Linux & macOS
curl -fsSL https://raw.githubusercontent.com/enisn/DotnetTerminalExplorer/main/install.sh | bash
Windows (PowerShell)
irm https://raw.githubusercontent.com/enisn/DotnetTerminalExplorer/main/install.ps1 | iex
Manual Download

You can also download prebuilt standalone binaries directly from the GitHub Releases page (linux-x64, linux-arm64, osx-arm64, win-x64, win-arm64).


Option 2: As a .NET Global Tool (requires .NET 10 Runtime)

dotnet tool install --global DotnetTerminalExplorer

Uninstallation

Standalone Native Binary

Linux & macOS
curl -fsSL https://raw.githubusercontent.com/enisn/DotnetTerminalExplorer/main/uninstall.sh | bash

(Or simply remove ~/.local/bin/dte)

Windows (PowerShell)
irm https://raw.githubusercontent.com/enisn/DotnetTerminalExplorer/main/uninstall.ps1 | iex

(Or remove the $HOME\.dte folder)

.NET Global Tool

dotnet tool uninstall --global DotnetTerminalExplorer

Usage

Run it for the current directory or a specific scoped folder:

dte
dte ./src
dte /path/to/project

Use dte --help or dte --version without initializing Terminal.Gui or filesystem services.

Shortcuts

Shortcut Action
F5 Reload the selected file
Ctrl+S Save changes to the active file
F2 Rename the selected file or directory inline
F8 Open the selected file with the operating system's default application
Esc Quit (or cancel inline rename)

F8 and Ctrl+S are disabled for directories. Files can be edited directly in the right-hand editor pane and saved with Ctrl+S. Press F2 to trigger an inline rename bar in the tree pane (Enter commits, Esc cancels).

Initial behavior

  • Directories are listed before files, and hidden entries are included.
  • Only the root's immediate children are enumerated at startup. Descendants are read when their directory is expanded.
  • Directory symlinks and reparse points inside the selected scope are shown but are not expanded.
  • File previews and edits use UTF-8 text read/write with dirty state tracking.
  • There is no search, file watcher, binary detection, preview-size limit, or external configuration loading.

Lightweight startup

The startup path intentionally avoids Generic Host and dependency injection containers. Only one source-generated CliFx command descriptor is registered, command activation uses an explicit type switch, and the command constructor stores only a runner delegate. Path validation completes before filesystem services and Terminal.Gui are created.

Projects

  • src/DotnetTerminalExplorer.Core — UI-independent explorer logic.
  • src/DotnetTerminalExplorer — the packable Terminal.Gui application.
  • tests/DotnetTerminalExplorer.Core.Tests — Core unit tests.
  • tests/DotnetTerminalExplorer.Tests — CLI and TUI tests.

Build

dotnet restore
dotnet build DotnetTerminalExplorer.sln --no-restore -c Release
dotnet test DotnetTerminalExplorer.sln --no-build --no-restore -c Release

Pack and install for development

Create the tool and symbol packages under nupkg:

pwsh ./pack.ps1

Repack and install the local package globally:

pwsh ./install-dev.ps1

The development install script removes an existing global development installation first so rebuilding the same version is deterministic.

Publishing

CI restores, builds, tests, packs, installs the tool into an isolated directory, and exercises dte --help and dte --version. NuGet.org publishing is a separate manual GitHub Actions workflow that requires the NUGET_API_KEY repository secret.

License

MIT

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
1.1.1 136 8/24/2026
0.1.0 122 8/24/2026