- Created detailed markdown files for keywords such as HEAR, TALK, and SET_USER. - Added examples and usage notes for each keyword to enhance user understanding. - Developed templates for common tasks like enrollment and authentication. - Structured documentation into chapters covering various aspects of the GeneralBots platform, including gbapp, gbkb, and gbtheme. - Introduced a glossary for key terms and concepts related to GeneralBots. - Implemented a user-friendly table of contents for easy navigation.
93 lines
2 KiB
Bash
Executable file
93 lines
2 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
PROJECT_ROOT="$SCRIPT_DIR"
|
|
OUTPUT_FILE="/tmp/prompt.out"
|
|
|
|
echo "Consolidated LLM Context" > "$OUTPUT_FILE"
|
|
|
|
prompts=(
|
|
"./prompts/dev/platform/shared.md"
|
|
"./Cargo.toml"
|
|
)
|
|
|
|
for file in "${prompts[@]}"; do
|
|
if [ -f "$file" ]; then
|
|
cat "$file" >> "$OUTPUT_FILE"
|
|
echo "" >> "$OUTPUT_FILE"
|
|
fi
|
|
done
|
|
|
|
dirs=(
|
|
"auth"
|
|
"automation"
|
|
"basic"
|
|
"bot"
|
|
"bootstrap"
|
|
"package_manager"
|
|
"channels"
|
|
"config"
|
|
"context"
|
|
"email"
|
|
"file"
|
|
"llm"
|
|
"llm_legacy"
|
|
"org"
|
|
"session"
|
|
"shared"
|
|
"tests"
|
|
"tools"
|
|
"web_automation"
|
|
"whatsapp"
|
|
)
|
|
|
|
filter_rust_file() {
|
|
sed -E '/^\s*\/\//d' "$1" | \
|
|
sed -E '/info!\s*\(/d' | \
|
|
sed -E '/debug!\s*\(/d' | \
|
|
sed -E '/trace!\s*\(/d'
|
|
}
|
|
|
|
for dir in "${dirs[@]}"; do
|
|
find "$PROJECT_ROOT/src/$dir" -name "*.rs" | while read -r file; do
|
|
echo "$file" >> "$OUTPUT_FILE"
|
|
filter_rust_file "$file" >> "$OUTPUT_FILE"
|
|
echo "" >> "$OUTPUT_FILE"
|
|
done
|
|
done
|
|
|
|
# Additional specific files
|
|
files=(
|
|
"$PROJECT_ROOT/src/main.rs"
|
|
#"$PROJECT_ROOT/src/basic/keywords/mod.rs"
|
|
|
|
)
|
|
|
|
for file in "${files[@]}"; do
|
|
if [[ "$file" == *.rs ]]; then
|
|
echo "$file" >> "$OUTPUT_FILE"
|
|
filter_rust_file "$file" >> "$OUTPUT_FILE"
|
|
else
|
|
echo "$file" >> "$OUTPUT_FILE"
|
|
cat "$file" >> "$OUTPUT_FILE"
|
|
fi
|
|
done
|
|
|
|
# Remove all blank lines and reduce whitespace greater than 1 space
|
|
sed -i 's/[[:space:]]*$//' "$OUTPUT_FILE"
|
|
sed -i '/^$/d' "$OUTPUT_FILE"
|
|
sed -i 's/ \+/ /g' "$OUTPUT_FILE"
|
|
|
|
# Calculate and display token count (approximation: words * 1.3)
|
|
WORD_COUNT=$(wc -w < "$OUTPUT_FILE")
|
|
TOKEN_COUNT=$(echo "$WORD_COUNT * 1.3 / 1" | bc)
|
|
FILE_SIZE=$(wc -c < "$OUTPUT_FILE")
|
|
|
|
echo "" >> "$OUTPUT_FILE"
|
|
|
|
echo "Approximate token count: $TOKEN_COUNT"
|
|
echo "Context size: $FILE_SIZE bytes"
|
|
|
|
cat "$OUTPUT_FILE" | xclip -selection clipboard
|
|
echo "Content copied to clipboard (xclip)"
|
|
rm -f "$OUTPUT_FILE"
|