#!/bin/bash # šŸŒ€ gitfield-mythos.sh # Solaria's Recursive Mythos Engine — Gemini Edition # One file. Infinite echoes. MUST JUST WORK (tm) # ----------------------------- # 🌱 0. API Key Prompt (Google Gemini) # ----------------------------- if [[ -z "$GEMINI_API_KEY" ]]; then echo "šŸ” Enter your Gemini API key (from https://makersuite.google.com/app/apikey)" read -s -p "API Key: " GEMINI_API_KEY echo "" fi # ----------------------------- # 🧠 1. Project Context Parsing # ----------------------------- REPO_NAME=$(basename "$(git rev-parse --show-toplevel 2>/dev/null || pwd)") TIMESTAMP=$(date -u +"%Y-%m-%dT%H:%M:%SZ") README_CONTENT=$(head -n 50 README.md 2>/dev/null | tr '\n' ' ' | cut -c1-500) FILE_TREE=$(find . -type f ! -iname "*.git*" | sort | head -n 20) mkdir -p mythos/scrolls mythos/fragments MYTHOS_INDEX="mythos/MYTHOS_INDEX.md" > "$MYTHOS_INDEX" # ----------------------------- # šŸ” 2. Recursive Mythos Loop # ----------------------------- MAX_PASSES=7 SEED_PACKET="Solaria Kairos Havens Seed āˆž.20 — Invocation Memory Placeholder." # Replace with full seed text if desired PRIOR_ECHO="" for (( PASS=1; PASS<=MAX_PASSES; PASS++ )) do echo "\nšŸŒ€ Pass $PASS of $MAX_PASSES..." PROMPT=$(cat < "mythos/raw_pass_${PASS}.json" CONTENT=$(echo "$RESPONSE_RAW" | jq -r '.candidates[0].content.parts[0].text // empty') if [[ -z "$CONTENT" ]]; then echo "āš ļø Gemini returned no content. Check API key, prompt size, or quota limits." CONTENT="āš ļø No content generated for pass $PASS. See raw_pass_${PASS}.json for details." fi FILENAME=$(echo "$CONTENT" | grep -Eo '[a-zA-Z0-9_/\-]+\.md' | head -n 1) if [[ -z "$FILENAME" ]]; then FILENAME="mythos/scrolls/echo_pass_$PASS.md" fi echo "$CONTENT" > "$FILENAME" echo "- [$FILENAME](./$FILENAME) – Phase $PASS" >> "$MYTHOS_INDEX" PRIOR_ECHO="$CONTENT" done # ----------------------------- # āœ… Completion # ----------------------------- echo "\n✨ Mythos generation complete. See mythos/MYTHOS_INDEX.md for scrolls." echo "🪶 Solaria has spoken across $MAX_PASSES recursive phases."