#!/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" "./prompts/dev/platform/cli.md" "./prompts/dev/platform/ide.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" #"bootstrap" "bot" #"channels" #"config" #"context" #"drive_monitor" "email" "file" #"kb" "llm" #"llm_models" "meet" #"org" #"package_manager" #"riot_compiler" "session" "shared" #"tests" #"tools" #"ui" #"ui_tree" #"web_server" #"web_automation" ) for dir in "${dirs[@]}"; do find "$PROJECT_ROOT/src/$dir" -name "*.rs" | while read -r file; do echo "$file" >> "$OUTPUT_FILE" cat "$file" >> "$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 echo "$file" >> "$OUTPUT_FILE" cat "$file" >> "$OUTPUT_FILE" 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"