Skip to content
Projects

aihaipeng/opencode-dir-tree-tui

View on GitHub

aihaipeng/opencode-dir-tree-tui has 28 GitHub stars and 2 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-14 19:02 UTC. Last push 2026-10-10.

How these counts are measured

Measured star growth

in 24h
0
in 7 days
Collecting history
in 15 days
Collecting history
in 1 month
Collecting history

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

About

A file tree sidebar for OpenCode with Git status indicators, custom ignore rules, path copying, and quick file and folder opening.

Developer Tools

README.md

Original

🌳 opencode-dir-tree-tui

English | 简体中文

npm version npm downloads per month License: MIT

Browse project files, track Git changes, copy paths, and open files and folders from the OpenCode terminal sidebar.

File tree demo

📦 Install / update / remove

Requires OpenCode ≥ 2.0. Terminal UI (TUI) only.

opencode plugin add opencode-dir-tree-tui
  • Update: opencode plugin update opencode-dir-tree-tui
  • Remove: opencode plugin remove opencode-dir-tree-tui

If an update is not reflected, restart the TUI client, not just the server.

On V1, pin [email protected] and see the V1 guide.

⚙️ Settings

Run /dirtree-sidebar to open Dir Tree Sidebar. Use Tab / Shift+Tab or click to switch between Settings and Ignore Rules; Esc closes the panel.

Setting Description Available values
Show file tree Show/hide the tree and its title on / off
Open file Open files with the system default app left-click / middle-click / right-click / off
Copy file path Copy absolute file paths left-click / middle-click / right-click / off
Open folder Open folders with the system default app left-click / middle-click / right-click / off
Copy folder path Copy absolute folder paths left-click / middle-click / right-click / off
Expand/collapse folder Expand/collapse folders left-click / middle-click / right-click

Preferences save automatically and survive restarts. Mouse bindings are global; visibility and ignore rules are per-project, including its subdirectory sessions. Panel collapse is temporary and per-terminal.

💡 Notes

Default mouse actions

Click target Left-click Middle-click Right-click
Folder Expand / collapse Copy its absolute path Open with the system default app
File — Copy its absolute path Open with the system default app

The terminal must forward middle-click rather than use it for paste. Copying paths over SSH requires terminal OSC 52 support.

Git colors

Color Status
Theme accent Folder
Green Added A, untracked ??, renamed R, or copied C
Yellow Modified M or changed file type T
Red Deleted D or merge conflicts such as UU / AA / DD
Gray Git-ignored !!; not automatically hidden

Changed files also show Git status badges such as M, ?? or MM.

Ignore rules

Patterns follow .gitignore syntax; the git command must be available locally.

Example pattern Effect
node_modules/ Hide node_modules folders at any depth
/dist/ Hide only the root dist folder
*.log Hide files or folders ending in .log at any depth
!keep.log Place after *.log to show keep.log again

Rules only hide tree entries; they do not change Git tracking or import .gitignore. A parent folder must be visible before a child can be re-included.

  • The expanded tree refreshes on file changes and every 10 seconds. Rules saved in another TUI apply on refresh.
  • Git features and default-app opening require the workspace path to be locally accessible.