-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdump_codebase.sh
More file actions
executable file
·60 lines (46 loc) · 1.32 KB
/
dump_codebase.sh
File metadata and controls
executable file
·60 lines (46 loc) · 1.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#!/bin/bash
# dump_codebase.sh
# Script to dump the entire codebase into a single organized file
OUTPUT_FILE="codebase_dump.md"
echo "# PortRoyal Codebase Dump" > $OUTPUT_FILE
echo "Generated: $(date)" >> $OUTPUT_FILE
echo "" >> $OUTPUT_FILE
# Function to add a file to the output
add_file() {
local file=$1
local rel_path=${file#"$(pwd)/"}
echo "## $rel_path" >> $OUTPUT_FILE
echo '```lua' >> $OUTPUT_FILE
cat "$file" >> $OUTPUT_FILE
echo '```' >> $OUTPUT_FILE
echo "" >> $OUTPUT_FILE
}
# Function to add documentation files (markdown)
add_doc_file() {
local file=$1
local rel_path=${file#"$(pwd)/"}
echo "## $rel_path" >> $OUTPUT_FILE
echo "$(cat "$file")" >> $OUTPUT_FILE
echo "" >> $OUTPUT_FILE
}
echo "# Source Code" >> $OUTPUT_FILE
echo "" >> $OUTPUT_FILE
# Add Lua source files
for file in $(find src -name "*.lua" -type f | sort); do
add_file "$file"
done
echo "# Documentation" >> $OUTPUT_FILE
echo "" >> $OUTPUT_FILE
# Add documentation files
for file in $(find docs -name "*.md" -type f | sort); do
add_doc_file "$file"
done
# Add design documents
for file in $(find . -maxdepth 1 -name "*.md" -type f | sort); do
add_doc_file "$file"
done
# Add tickets
for file in $(find Tickets -name "*.md" -type f | sort); do
add_doc_file "$file"
done
echo "Codebase successfully dumped to $OUTPUT_FILE"