Skip to content

Instantly share code, notes, and snippets.

@ImMALWARE
Created May 18, 2025 18:12
Show Gist options
  • Save ImMALWARE/1b57703b2a97448c97b8a076f55568c7 to your computer and use it in GitHub Desktop.
Save ImMALWARE/1b57703b2a97448c97b8a076f55568c7 to your computer and use it in GitHub Desktop.
Показ проекта нейросети)
#!/bin/bash
EXCLUDE_PATTERN='node_modules|.git|.vscode|dist|package-lock.json'
echo "========================================"
echo " Анализ структуры и файлов проекта"
echo " Текущая папка: $(pwd)"
echo " Исключенные папки: ${EXCLUDE_PATTERN//|/, }"
echo "========================================"
echo
echo "--- Дерево каталогов ---"
if command -v tree &> /dev/null; then
if [[ -n "$EXCLUDE_PATTERN" ]]; then
tree -I "$EXCLUDE_PATTERN"
else
tree
fi
else
echo "[Предупреждение] Команда 'tree' не найдена."
# Альтернативный способ отображения дерева каталогов без команды tree
find . -type d -not -path "*/\.*" | sort | while read -r dir; do
if echo "$dir" | grep -qvE "$EXCLUDE_PATTERN"; then
depth=$(echo "$dir" | tr -cd '/' | wc -c)
printf "%$(($depth * 2))s%s\n" "" "$(basename "$dir")"
fi
done
fi
echo
echo "----------------------------------------"
echo
echo "--- Содержимое файлов ---"
find . -type f -not -path "*/\.*" | sort | while read -r filepath; do
if ! echo "$filepath" | grep -qE "$EXCLUDE_PATTERN"; then
if file -b --mime-encoding "$filepath" | grep -q "binary"; then
echo
echo "___________ $filepath __________"
echo
echo "[Содержимое бинарного файла пропущено]"
echo "_________________________________________"
echo
else
echo
echo "___________ $filepath __________"
echo
cat "$filepath" 2>/dev/null || echo "[Ошибка чтения файла: $filepath]"
echo
echo "_________________________________________"
echo
fi
fi
done
echo "--- Конец проекта ---"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment