diff --git a/.gitignore b/.gitignore index 2fcdd78..cac6253 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,10 @@ # === CF_Zero_V1 .gitignore === # AI Assistant Logs (contain conversation history and token usage) -# Die 15 Waldwächter + Legacy +# Repo-based logs directory +logs/ + +# Legacy: Home directory logs (deprecated, now using logs/) .mayaeule_logs/ .eule_logs/ .deepbit_logs/ diff --git a/crumbforest_roles/asciimonster_zero.sh b/crumbforest_roles/asciimonster_zero.sh index 9c8c182..526fe52 100755 --- a/crumbforest_roles/asciimonster_zero.sh +++ b/crumbforest_roles/asciimonster_zero.sh @@ -17,7 +17,7 @@ API_KEY="${OPENROUTER_API_KEY}" MODEL="${OPENROUTER_MODEL:-openai/gpt-3.5-turbo}" # Logs -LOGDIR="$HOME/.asciimonster_logs" +LOGDIR="${CRUMB_LOGS_DIR:-$HOME/.asciimonster_logs}/asciimonster" mkdir -p "$LOGDIR" HISTORY_FILE="$LOGDIR/asciimonster_history.json" diff --git a/crumbforest_roles/bugsy_zero.sh b/crumbforest_roles/bugsy_zero.sh index a68eb52..5b56314 100755 --- a/crumbforest_roles/bugsy_zero.sh +++ b/crumbforest_roles/bugsy_zero.sh @@ -3,7 +3,7 @@ QUESTION="$*" MODEL="openai/gpt-3.5-turbo" API_KEY="${OPENROUTER_API_KEY}" -LOGDIR="$HOME/.bugsy_logs" +LOGDIR="${CRUMB_LOGS_DIR:-$HOME/.bugsy_logs}/bugsy" mkdir -p "$LOGDIR" HISTORY_FILE="$LOGDIR/bugsy_history.json" diff --git a/crumbforest_roles/crabbyrust_zero.sh b/crumbforest_roles/crabbyrust_zero.sh index 3c91464..9aecad6 100755 --- a/crumbforest_roles/crabbyrust_zero.sh +++ b/crumbforest_roles/crabbyrust_zero.sh @@ -17,7 +17,7 @@ API_KEY="${OPENROUTER_API_KEY}" MODEL="${OPENROUTER_MODEL:-openai/gpt-3.5-turbo}" # Logs -LOGDIR="$HOME/.crabbyrust_logs" +LOGDIR="${CRUMB_LOGS_DIR:-$HOME/.crabbyrust_logs}/crabbyrust" mkdir -p "$LOGDIR" HISTORY_FILE="$LOGDIR/crabbyrust_history.json" diff --git a/crumbforest_roles/deepbit_zero.sh b/crumbforest_roles/deepbit_zero.sh index 0946bb7..6073f53 100755 --- a/crumbforest_roles/deepbit_zero.sh +++ b/crumbforest_roles/deepbit_zero.sh @@ -3,7 +3,7 @@ QUESTION="$*" MODEL="openai/gpt-3.5-turbo" API_KEY="${OPENROUTER_API_KEY}" -LOGDIR="$HOME/.deepbit_logs" +LOGDIR="${CRUMB_LOGS_DIR:-$HOME/.deepbit_logs}/deepbit" mkdir -p "$LOGDIR" HISTORY_FILE="$LOGDIR/deepbit_history.json" diff --git a/crumbforest_roles/dumbosql_zero.sh b/crumbforest_roles/dumbosql_zero.sh index 4e802bb..ccbe541 100755 --- a/crumbforest_roles/dumbosql_zero.sh +++ b/crumbforest_roles/dumbosql_zero.sh @@ -17,7 +17,7 @@ API_KEY="${OPENROUTER_API_KEY}" MODEL="${OPENROUTER_MODEL:-openai/gpt-3.5-turbo}" # Logs -LOGDIR="$HOME/.dumbosql_logs" +LOGDIR="${CRUMB_LOGS_DIR:-$HOME/.dumbosql_logs}/dumbosql" mkdir -p "$LOGDIR" HISTORY_FILE="$LOGDIR/dumbosql_history.json" diff --git a/crumbforest_roles/funkfox_zero.sh b/crumbforest_roles/funkfox_zero.sh index 31055c2..ca531fa 100755 --- a/crumbforest_roles/funkfox_zero.sh +++ b/crumbforest_roles/funkfox_zero.sh @@ -17,7 +17,7 @@ API_KEY="${OPENROUTER_API_KEY}" MODEL="${OPENROUTER_MODEL:-openai/gpt-3.5-turbo}" # Logs -LOGDIR="$HOME/.funkfox_logs" +LOGDIR="${CRUMB_LOGS_DIR:-$HOME/.funkfox_logs}/funkfox" mkdir -p "$LOGDIR" HISTORY_FILE="$LOGDIR/funkfox_history.json" diff --git a/crumbforest_roles/mayaeule_zero.sh b/crumbforest_roles/mayaeule_zero.sh index f1b8812..0f8e22d 100755 --- a/crumbforest_roles/mayaeule_zero.sh +++ b/crumbforest_roles/mayaeule_zero.sh @@ -23,7 +23,7 @@ QDRANT_COLLECTION="${QDRANT_COLLECTION:-crumbforest_memory}" QDRANT_API_KEY="${QDRANT_API_KEY}" # Logs -LOGDIR="$HOME/.eule_logs" +LOGDIR="${CRUMB_LOGS_DIR:-$HOME/.eule_logs}/mayaeule" mkdir -p "$LOGDIR" HISTORY_FILE="$LOGDIR/eule_history.json" diff --git a/crumbforest_roles/pepperphp_zero.sh b/crumbforest_roles/pepperphp_zero.sh index 637bb3c..5f41543 100755 --- a/crumbforest_roles/pepperphp_zero.sh +++ b/crumbforest_roles/pepperphp_zero.sh @@ -17,7 +17,7 @@ API_KEY="${OPENROUTER_API_KEY}" MODEL="${OPENROUTER_MODEL:-openai/gpt-3.5-turbo}" # Logs -LOGDIR="$HOME/.pepperphp_logs" +LOGDIR="${CRUMB_LOGS_DIR:-$HOME/.pepperphp_logs}/pepperphp" mkdir -p "$LOGDIR" HISTORY_FILE="$LOGDIR/pepperphp_history.json" diff --git a/crumbforest_roles/schnecki_zero.sh b/crumbforest_roles/schnecki_zero.sh index 62a0852..5ff5434 100755 --- a/crumbforest_roles/schnecki_zero.sh +++ b/crumbforest_roles/schnecki_zero.sh @@ -18,7 +18,7 @@ API_KEY="${OPENROUTER_API_KEY}" MODEL="${OPENROUTER_MODEL:-openai/gpt-3.5-turbo}" # Logs -LOGDIR="$HOME/.schnecki_logs" +LOGDIR="${CRUMB_LOGS_DIR:-$HOME/.schnecki_logs}/schnecki" mkdir -p "$LOGDIR" HISTORY_FILE="$LOGDIR/schnecki_history.json" diff --git a/crumbforest_roles/schnippsi_zero.sh b/crumbforest_roles/schnippsi_zero.sh index 8a90b58..e3f1684 100755 --- a/crumbforest_roles/schnippsi_zero.sh +++ b/crumbforest_roles/schnippsi_zero.sh @@ -3,7 +3,7 @@ QUESTION="$*" MODEL="openai/gpt-3.5-turbo" API_KEY="${OPENROUTER_API_KEY}" -LOGDIR="$HOME/.schnippsi_logs" +LOGDIR="${CRUMB_LOGS_DIR:-$HOME/.schnippsi_logs}/schnippsi" mkdir -p "$LOGDIR" HISTORY_FILE="$LOGDIR/schnippsi_history.json" diff --git a/crumbforest_roles/schraubaer_zero_final.sh b/crumbforest_roles/schraubaer_zero_final.sh index 0ce43b8..76f8439 100755 --- a/crumbforest_roles/schraubaer_zero_final.sh +++ b/crumbforest_roles/schraubaer_zero_final.sh @@ -18,7 +18,7 @@ API_KEY="${OPENROUTER_API_KEY}" MODEL="${OPENROUTER_MODEL:-openai/gpt-3.5-turbo}" # Logs -LOGDIR="$HOME/.schraubaer_logs" +LOGDIR="${CRUMB_LOGS_DIR:-$HOME/.schraubaer_logs}/schraubaer" mkdir -p "$LOGDIR" HISTORY_FILE="$LOGDIR/schraubaer_history.json" diff --git a/crumbforest_roles/snakepy_zero.sh b/crumbforest_roles/snakepy_zero.sh index 2d455b4..4f912b6 100755 --- a/crumbforest_roles/snakepy_zero.sh +++ b/crumbforest_roles/snakepy_zero.sh @@ -17,7 +17,7 @@ API_KEY="${OPENROUTER_API_KEY}" MODEL="${OPENROUTER_MODEL:-openai/gpt-3.5-turbo}" # Logs -LOGDIR="$HOME/.snakepy_logs" +LOGDIR="${CRUMB_LOGS_DIR:-$HOME/.snakepy_logs}/snakepy" mkdir -p "$LOGDIR" HISTORY_FILE="$LOGDIR/snakepy_history.json" diff --git a/crumbforest_roles/spider_zero.sh b/crumbforest_roles/spider_zero.sh index 4798f2a..c98f0b2 100755 --- a/crumbforest_roles/spider_zero.sh +++ b/crumbforest_roles/spider_zero.sh @@ -17,7 +17,7 @@ API_KEY="${OPENROUTER_API_KEY}" MODEL="${OPENROUTER_MODEL:-openai/gpt-3.5-turbo}" # Logs -LOGDIR="$HOME/.spider_logs" +LOGDIR="${CRUMB_LOGS_DIR:-$HOME/.spider_logs}/spider" mkdir -p "$LOGDIR" HISTORY_FILE="$LOGDIR/spider_history.json" diff --git a/crumbforest_roles/taichitaube_zero.sh b/crumbforest_roles/taichitaube_zero.sh index e1eb6b2..6c5e7a2 100755 --- a/crumbforest_roles/taichitaube_zero.sh +++ b/crumbforest_roles/taichitaube_zero.sh @@ -17,7 +17,7 @@ API_KEY="${OPENROUTER_API_KEY}" MODEL="${OPENROUTER_MODEL:-openai/gpt-3.5-turbo}" # Logs -LOGDIR="$HOME/.taichitaube_logs" +LOGDIR="${CRUMB_LOGS_DIR:-$HOME/.taichitaube_logs}/taichitaube" mkdir -p "$LOGDIR" HISTORY_FILE="$LOGDIR/taichitaube_history.json" diff --git a/crumbforest_roles/tobi_zero.sh b/crumbforest_roles/tobi_zero.sh index 42161df..effe19c 100755 --- a/crumbforest_roles/tobi_zero.sh +++ b/crumbforest_roles/tobi_zero.sh @@ -3,7 +3,7 @@ QUESTION="$*" MODEL="openai/gpt-3.5-turbo" API_KEY="${OPENROUTER_API_KEY}" -LOGDIR="$HOME/.tobi_logs" +LOGDIR="${CRUMB_LOGS_DIR:-$HOME/.tobi_logs}/tobi" mkdir -p "$LOGDIR" HISTORY_FILE="$LOGDIR/tobi_history.json" diff --git a/crumbforest_roles/vektor_zero.sh b/crumbforest_roles/vektor_zero.sh index 8ecaadb..be8414c 100755 --- a/crumbforest_roles/vektor_zero.sh +++ b/crumbforest_roles/vektor_zero.sh @@ -17,7 +17,7 @@ API_KEY="${OPENROUTER_API_KEY}" MODEL="${OPENROUTER_MODEL:-openai/gpt-3.5-turbo}" # Logs -LOGDIR="$HOME/.vektor_logs" +LOGDIR="${CRUMB_LOGS_DIR:-$HOME/.vektor_logs}/vektor" mkdir -p "$LOGDIR" HISTORY_FILE="$LOGDIR/vektor_history.json" diff --git a/lib/waldwaechter.sh b/lib/waldwaechter.sh index ff5beff..c37625c 100644 --- a/lib/waldwaechter.sh +++ b/lib/waldwaechter.sh @@ -2,10 +2,15 @@ # 🌲 Waldwächter Library - AI Assistants for Crumbforest Missions # Source this file to make all AI characters available as commands -# Determine the script directory -WALDWAECHTER_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" +# Determine the repo root directory (lib/ is inside repo root) +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +WALDWAECHTER_DIR="$(dirname "$SCRIPT_DIR")" ROLES_DIR="${WALDWAECHTER_DIR}/crumbforest_roles" +# Set logs directory in repo +export CRUMB_LOGS_DIR="${WALDWAECHTER_DIR}/logs" +mkdir -p "${CRUMB_LOGS_DIR}" + # Load .env if it exists ENV_FILE="${WALDWAECHTER_DIR}/.env" if [[ -f "${ENV_FILE}" ]]; then diff --git a/missions/robots/lipo_power_academy.sh b/missions/robots/lipo_power_academy.sh index 5eab6e5..e1df768 100755 --- a/missions/robots/lipo_power_academy.sh +++ b/missions/robots/lipo_power_academy.sh @@ -339,7 +339,7 @@ echo "" # === LOG === -LOGDIR="$HOME/.crumbrobots_logs" +LOGDIR="${CRUMB_LOGS_DIR:-$HOME/.crumbrobots_logs}/missions" mkdir -p "$LOGDIR" TIMESTAMP=$(date -Iseconds) diff --git a/missions/robots/regenbogen_zaehlmaschine.sh b/missions/robots/regenbogen_zaehlmaschine.sh index 9b64b72..8c9c6da 100755 --- a/missions/robots/regenbogen_zaehlmaschine.sh +++ b/missions/robots/regenbogen_zaehlmaschine.sh @@ -218,7 +218,7 @@ echo "" # === LOG === -LOGDIR="$HOME/.crumbrobots_logs" +LOGDIR="${CRUMB_LOGS_DIR:-$HOME/.crumbrobots_logs}/missions" mkdir -p "$LOGDIR" TIMESTAMP=$(date -Iseconds)