🌳 gotree — продвинутый визуализатор структуры директорий
gotree — это мощный кроссплатформенный CLI-инструмент для отображения структуры папок с поддержкой интерактивной навигации, гибкого экспорта и красивой визуализации — намного шире возможностей классической утилиты tree.

✨ Возможности
- Интерактивный TUI — навигация по директориям стрелками, просмотр содержимого файлов, исследование файловой системы как профессионал
- Экспорт в разные форматы — создание снимков в
PNG, SVG, TXT или JSON
- Кастомные шаблоны — настройка внешнего вида дерева через YAML: символы, иконки, цвета
- Умная фильтрация — игнорирование файлов и папок по glob-шаблонам (аналог
.gitignore)
- Метрики в реальном времени — количество файлов, общий размер, глубина вложенности, производительность
- Кроссплатформенность — работает безупречно на Windows, macOS и Linux
- Нет внешних зависимостей — один бинарный файл, не требует установки дополнительных утилит
🚀 Быстрый старт
Установка
# Из исходников (требуется Go 1.20+)
go install github.com/massonsky/gotree/cmd/gotree@latest
# Или скачайте готовый бинарник из раздела Releases
Базовое использование
# Отобразить дерево текущей директории
gotree
# Интерактивный режим
gotree interactive .
# Экспорт в разные форматы
gotree --export gotree.png # Растровое изображение
gotree --export gotree.svg # Векторная графика
gotree --export gotree.json # Структурированные данные
gotree --export gotree.txt # Простой текст
💡 Продвинутые примеры
# Сканирование с ограничением глубины и игнорированием шаблонов
gotree --depth 3 --ignore "node_modules" --ignore "*.log" .
# Интерактивный режим с ограничением глубины
gotree interactive --depth 5 /путь/к/проекту
# Экспорт с пользовательским шрифтом (только для PNG)
gotree --export report.png --font /System/Library/Fonts/Menlo.ttc .
📦 Сравнение форматов экспорта
| Формат |
Лучше всего подходит для |
Особенности |
| PNG |
Визуальных отчётов |
Растровое изображение, поддержка кастомных шрифтов |
| SVG |
Документации и веба |
Вектор, масштабируется без потерь, встраивается в HTML |
| TXT |
Логов и скриптов |
Простой текст, совместим с конвейерами (` |
| JSON |
Автоматизации |
Структурированные данные, легко парсится в скриптах и API |
🛠️ Конфигурация
gotree автоматически создаёт директорию конфигурации в:
- Linux:
~/.config/.gotree
- macOS:
~/Library/Application Support/.gotree
- Windows:
%APPDATA%\.gotree
Основные файлы и папки:
configuration.yaml — глобальные настройки
assets/templates/ — пользовательские шаблоны
assets/fonts/ — шрифты для экспорта в PNG
log/app.log — логи приложения
📜 Лицензия
Распространяется под лицензией MIT. Подробнее — в файле LICENSE.