/ scripts / dump-fold-stack.sh
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 "================================="