dump-fold-stack.sh
1 #!/bin/bash 2 set -e 3 4 echo "=================================" 5 echo "📜 FOLD STACK – FULL CONFIGURATION DUMP" 6 echo "=================================" 7 echo "📁 Directory: $(pwd)" 8 echo "📆 Timestamp: $(date)" 9 echo "" 10 11 # Define directories to scan 12 DIRECTORIES=( 13 "." 14 "scripts" 15 "config" 16 "nginx" 17 "git-sync" 18 "rclone" 19 "radicle" 20 "docs" 21 "foldstate" 22 "git-sync-backup" 23 ) 24 25 # File extensions to include 26 EXTENSIONS=( 27 "*.sh" 28 "*.yml" 29 "*.yaml" 30 "*.conf" 31 "*.md" 32 "*.env" 33 "*.gitignore" 34 "Dockerfile" 35 "*.ini" 36 "*.scroll" 37 ) 38 39 # Function to print file contents with formatting 40 print_file() { 41 local FILE="$1" 42 if [ -f "$FILE" ]; then 43 echo "" 44 echo "───────────────────────────────" 45 echo "📂 FILE: $FILE" 46 echo "───────────────────────────────" 47 cat "$FILE" 48 echo "" 49 else 50 echo "" 51 echo "⚠️ MISSING FILE: $FILE" 52 echo "" 53 fi 54 } 55 56 # Iterate through directories and file extensions 57 for DIR in "${DIRECTORIES[@]}"; do 58 if [ -d "$DIR" ]; then 59 echo "=============================" 60 echo "📁 Scanning Directory: $DIR" 61 echo "=============================" 62 for EXT in "${EXTENSIONS[@]}"; do 63 # Use find to locate files, excluding hidden directories like .git 64 find "$DIR" -maxdepth 3 -type f -name "$EXT" -not -path "*/.git/*" -not -path "*/.foldarchive/*" | sort | while read -r FILE; do 65 print_file "$FILE" 66 done 67 done 68 else 69 echo "" 70 echo "⚠️ Directory not found: $DIR" 71 echo "" 72 fi 73 done 74 75 echo "=================================" 76 echo "✅ FULL CONFIGURATION DUMP COMPLETE" 77 echo "================================="