DotnetTerminalExplorer 0.1.0
See the version list below for details.
dotnet tool install --global DotnetTerminalExplorer --version 0.1.0
dotnet new tool-manifest
dotnet tool install --local DotnetTerminalExplorer --version 0.1.0
#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.
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 | Versions 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. |
This package has no dependencies.