#!/bin/bash # Собирает весь backend в один .md файл PROJECT_DIR="/root/filwordspl/backend" OUTPUT="/root/FILWORDS_BACKEND_$(date +%Y%m%d_%H%M).md" { echo "# 🐍 Filwords PL — Backend" echo "" echo "**Дата:** $(date)" echo "**Путь:** $PROJECT_DIR" echo "" # Все .py файлы (кроме venv и __pycache__) for f in $(find "$PROJECT_DIR" -type f -name "*.py" -not -path "*/venv/*" -not -path "*/__pycache__/*" | sort); do REL_PATH="${f#$PROJECT_DIR/}" echo "### \`$REL_PATH\`" echo '```python' cat "$f" echo '```' echo "" done # Конфиги for f in "$PROJECT_DIR/requirements.txt" "$PROJECT_DIR/pytest.ini" "$PROJECT_DIR/.gitignore"; do if [ -f "$f" ]; then REL_PATH="${f#$PROJECT_DIR/}" echo "### \`$REL_PATH\`" echo '```' cat "$f" echo '```' echo "" fi done # Тесты if [ -d "$PROJECT_DIR/tests" ]; then for f in $(find "$PROJECT_DIR/tests" -type f -name "*.py" | sort); do REL_PATH="${f#$PROJECT_DIR/}" echo "### \`$REL_PATH\`" echo '```python' cat "$f" echo '```' echo "" done fi } > "$OUTPUT" echo "🔍 Проверка секретов (должно быть 0):" grep -c -E "(sk-[a-zA-Z0-9]{20,}|postgresql://[^ ]*:[^ ]*@|BOT_TOKEN\s*=\s*[\"'][0-9]|password\s*=\s*[\"'][^\"']{4,})" "$OUTPUT" || echo "0" echo "✅ Готово: $OUTPUT" echo "📊 Размер: $(du -h "$OUTPUT" | cut -f1)" echo "📏 Строк: $(wc -l < "$OUTPUT")"