data-goblin/claude-code-filetree
filetree
Claude Code용 IDE 스타일 파일 트리로, Claude가 무엇을 하는지와 파일의 어디에 있는지를 보여 줍니다.
이 mod 소개
Claude Code Filetree는 오른쪽 사이드바에 IDE 스타일 파일 트리를 보여 주는 Claude Code mod입니다. Claude Code 2.1.287+, 전체 화면 레이아웃(/tui fullscreen), 최소 110열 너비의 터미널이 필요하며 Linux, macOS, Windows에서 테스트했습니다. cwd를 따라가는 대화형 파일 트리(/filetree <path>로 폴더 고정), 파일 트리 검색, 파일과 폴더별 Git 상태 및 변경 줄 수, 헤더의 브랜치와 ahead/behind, Claude의 읽기·쓰기·커밋 동작 색상 표시, git과 gh를 통한 Git 및 GitHub 작업, prompt.submit hook으로 선택한 파일을 컨텍스트로 Claude에 전달, 파일과 폴더 크기, 기본 앱으로 여는 더블 클릭, 키보드 조작, Nerd Font 아이콘과 순수 Unicode 폴백, Omarchy 테마 연동을 제공합니다. 플러그인 마켓플레이스에 추가한 뒤 filetree@claude-code-filetree를 설치하고 /config의 filetree 섹션에서 설정하며 MIT 라이선스를 사용합니다.
설치
먼저 작성자의 README에서 marketplace와 플러그인 이름을 확인하세요. 저장소 구조에 따라 명령어가 달라질 수 있습니다.
claude plugin marketplace add data-goblin/claude-code-filetree claude plugin install filetree
원문 / README
[!NOTE] filetree is a Claude Code mod and needs Claude Code 2.1.287+. It shows in the right sidebar, which needs the fullscreen layout (
/tui fullscreen) and a terminal at least 110 columns wide. Tested on Linux, macOS and Windows; mods don't load in WSL sessions of the Desktop app.
Installation
The repo is its own plugin marketplace. Run this in the terminal:
claude plugin marketplace add data-goblin/claude-code-filetree
claude plugin install filetree@claude-code-filetree
Or inside a Claude Code session:
/plugin marketplace add data-goblin/claude-code-filetree
/plugin install filetree@claude-code-filetree
Installed it as filetree@filetree before the repository was renamed? Nothing to do: that install keeps loading and keeps receiving updates.
Features
-
Interactive file tree for the working directory where you're using Claude Code; it follows the cwd, or
/filetree <path>pins another folder -
Search the file tree, including folders you have not opened yet
-
Git status per file and folder in color, with exact lines changed (
+N-N) on modified files and?:N M:N D:Nfile counts on folders -
Branch, upstream and ahead/behind in the header
-
Visual indicator of Claude reads and searches (purple), writes (orange) and commits (green); collapsed folders open to show the file
<img src="media/filetree-read.gif" alt="Files shimmer purple while Claude reads and searches them" width="800"> -
Git and GitHub operations via
<img src="media/filetree-git.gif" alt="A committed file shimmers green and the footer shows the commit" width="800">gitandgh(commit, push, pull, checkout, merge, PR and more) shown as a status at the bottom of the pane -
Selection-aware: the selected file is passed to Claude as context through a
<img src="media/filetree-ask.gif" alt="Selecting config.yaml in the tree and asking Claude what it changed there" width="800">prompt.submithook, and@pathmentions in a prompt reveal that file in the tree -
File and folder sizes: the
Σheader button swaps the date column for sizes; folders show their disk usage (du, or a summed listing on Windows), worked out in the background for the rows on screen and refreshed after Claude writes -
Double-click a file to open it in its default app
-
Click to select, arrow keys to move through the tree
-
Light on large repos: outside a repo it only checks once whether one exists, and every git call is scoped to the cwd
-
Nerd Font icons with a plain Unicode fallback
-
On Omarchy, the pane takes its colors and background from the current theme and follows theme switches
Resizing the pane
You can resize the pane with the mouse, or by setting custom pane:grow or pane:shrink keybindings in keybindings.json
Settings
All settings are in /config under filetree.
- Claude activity: what shimmers:
reads and writes(default),writes,readsornone. Git status, line counts and the git status at the bottom always show. - Follow Claude:
on(default) scrolls the tree to what Claude reads, writes or commits;offkeeps the view where you put it, and highlights still show. - Right column:
date(default) orsize; what the right column shows when a session starts. TheΣbutton in the header toggles it. - Glyphs:
auto(default) uses Nerd Font icons when a Nerd Font is installed and your terminal started after it was installed, plain Unicode in the desktop app, and Nerd Font over SSH.nerdorplainforces one.
herdr
Clicking rows needs herdr 0.9.1 or later. herdr 0.9.0 and older accept pixel mouse reporting but still send cell positions, which would put every click in the session in the wrong place, so on those versions the rows ignore the mouse and the rest of the pane and session keep working. Run herdr update to get row clicks.
Contributing
Turn on the pre-commit hook once per clone; it runs claude plugin validate and the plugin tests before each commit that touches the plugin:
git config core.hooksPath .githooks
The same checks run on macOS, Windows and Linux in CI on every push that touches the plugin.
License
This project is inspired by my Omarchy app FileBlade
