From 008d00fde5890768155252556f6665a14500e37d617d06e5e9f23c6768e58759 Mon Sep 17 00:00:00 2001 From: admin Date: Fri, 2 Oct 2026 08:04:47 +0000 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20get-dump.sh?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- get-dump.sh | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 get-dump.sh diff --git a/get-dump.sh b/get-dump.sh new file mode 100644 index 0000000..0b799bb --- /dev/null +++ b/get-dump.sh @@ -0,0 +1,51 @@ +#!/bin/bash + +# Каталог проекта (по умолчанию текущая директория) +PROJECT_DIR="${1:-.}" +OUTPUT_FILE="llm_code_dump.md" + +echo "Сбор кодовой базы для LLM ревью из: $PROJECT_DIR" +echo "Создание файла: $OUTPUT_FILE" + +# Инициализируем файл +echo "# Codebase Dump" > "$OUTPUT_FILE" +echo "Дата создания: $(date +"\%Y-\%m-\%d \%H:\%M:\%S")" >> "$OUTPUT_FILE" +echo "" >> "$OUTPUT_FILE" + +echo "## Структура проекта" >> "$OUTPUT_FILE" +# Выводим структуру одной строкой для надежности +find "$PROJECT_DIR" -type d \( -name "target" -o -name "__pycache__" -o -name ".git" -o -name "venv" -o -name ".venv" -o -name "node_modules" \) -prune -o -print >> "$OUTPUT_FILE" +echo "" >> "$OUTPUT_FILE" + +echo "## Исходный код" >> "$OUTPUT_FILE" + +# Ищем нужные файлы без переносов строк (\), чтобы избежать ошибки с пробелами +find "$PROJECT_DIR" -type d \( -name "target" -o -name "__pycache__" -o -name ".git" -o -name "venv" -o -name ".venv" -o -name "node_modules" \) -prune -o -type f \( -name "*.rs" -o -name "Cargo.toml" -o -name "Cargo.lock" -o -name "*.py" -o -name "requirements.txt" -o -name "*.html" -o -name "*.css" -o -name "*.js" \) -print0 | while IFS= read -r -d '' file; do + + echo "Обработка: $file" + + echo "### Файл: \`$file\`" >> "$OUTPUT_FILE" + + # Определяем расширение для подсветки синтаксиса в Markdown + ext="${file##*.}" + case "$ext" in + rs) lang="rust" ;; + py) lang="python" ;; + html) lang="html" ;; + css) lang="css" ;; + js) lang="javascript" ;; + toml|lock) lang="toml" ;; + txt) lang="text" ;; + *) lang="" ;; + esac + + # Записываем содержимое файла + echo '```'"$lang" >> "$OUTPUT_FILE" + cat "$file" >> "$OUTPUT_FILE" + echo '```' >> "$OUTPUT_FILE" + echo "" >> "$OUTPUT_FILE" + echo "---" >> "$OUTPUT_FILE" + echo "" >> "$OUTPUT_FILE" +done + +echo "✅ Готово! Весь код собран в файл $OUTPUT_FILE" \ No newline at end of file