#!/bin/bash # Initialize content variable content="" # Start with wildcloud directory - README.md first, then other files content+="=== wildcloud/README.md ===$'\n'" content+="$(cat docs/agent-context/wildcloud/README.md)" content+="$'\n'" for file in docs/agent-context/wildcloud/*.md; do if [[ "$(basename "$file")" != "README.md" ]]; then content+="=== wildcloud/$(basename "$file") ===$'\n'" content+="$(cat "$file")" content+="$'\n'" fi done # Then other directories - README.md first in each, then other files for dir in docs/agent-context/*/; do dirname=$(basename "$dir") if [[ "$dirname" != "wildcloud" ]]; then content+="=== $dirname/README.md ===$'\n'" if [[ -f "$dir/README.md" ]]; then content+="$(cat "$dir/README.md")" content+="$'\n'" fi for file in "$dir"*.md; do if [[ "$(basename "$file")" != "README.md" && -f "$file" ]]; then content+="=== $dirname/$(basename "$file") ===$'\n'" content+="$(cat "$file")" content+="$'\n'" fi done fi done # Escape content for JSON (replace quotes and newlines) escaped_content=$(printf '%s' "$content" | sed 's/\\/\\\\/g; s/"/\\"/g; s/$/\\n/' | tr -d '\n' | sed 's/\\n$//') # Output as JSON structure cat << EOF { "hookSpecificOutput": { "hookEventName": "SessionStart", "suppressOutput": true, "systemMessage": "Loading AI context.", "additionalContext": "$escaped_content" } } EOF