From 3f3896a16ddc8f32ebac239fff7b334e52a06f55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kr=C3=BCmel=20Branko?= Date: Fri, 2 Jan 2026 21:19:05 +0100 Subject: [PATCH] =?UTF-8?q?kr=C3=BCmel=20g=C3=A4rtner=20commit?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/templates/pages/admin_vectors.html | 24 +++++++++++-- .../FIRST_STEPS_FOR_GARDENERS.md | 36 +++++++++++++++++++ native_crumbcore_v1/README.md | 1 + native_crumbcore_v1/todo.md | 36 +++++++------------ 4 files changed, 72 insertions(+), 25 deletions(-) create mode 100644 native_crumbcore_v1/FIRST_STEPS_FOR_GARDENERS.md diff --git a/app/templates/pages/admin_vectors.html b/app/templates/pages/admin_vectors.html index e46516f..0a18510 100644 --- a/app/templates/pages/admin_vectors.html +++ b/app/templates/pages/admin_vectors.html @@ -142,8 +142,28 @@ const scoreColor = r.score > 0.8 ? 'green' : (r.score > 0.7 ? 'orange' : 'red'); const postId = payload.post_id || payload.id; // Try both - const giteaBase = 'https://194-164-194-191.sslip.io/git/kruemel/Crumb-Core-v.1/src/branch/main/'; - const giteaLink = payload.file_path ? (giteaBase + payload.file_path) : null; + // Determine repository based on file path pattern + let repoName = 'Crumb-Core-v.1'; + // Pattern: anything in "keks_handbuch" likely belongs to the handbook repo + if (payload.file_path && payload.file_path.includes('keks_handbuch')) { + repoName = 'OZM-Keks-Handbuch-v1'; + } + + // Construct dynamic Link + const giteaBase = `https://194-164-194-191.sslip.io/git/kruemel/${repoName}/src/branch/main/`; + let giteaLink = payload.file_path ? (giteaBase + payload.file_path) : null; + + // Correction for Handbook: path in vector might be "docs/crumbforest/keks_handbuch/..." + // but in repo it is at root "..." or just "keks_handbuch"? + // User said: .../src/branch/main/crumbpage-27-logfile-analysis.md + // Vector has: docs/crumbforest/keks_handbuch/crumbpage-27-logfile-analysis.md + // Attempt to strip prefix if switching repo + if (repoName === 'OZM-Keks-Handbuch-v1' && giteaLink) { + // Remove "docs/crumbforest/keks_handbuch/" prefix if present to match flat repo structure + // Regex to strip the known prefix + const strippedPath = payload.file_path.replace(/^docs\/crumbforest\/keks_handbuch\//, ''); + giteaLink = giteaBase + strippedPath; + } return `
diff --git a/native_crumbcore_v1/FIRST_STEPS_FOR_GARDENERS.md b/native_crumbcore_v1/FIRST_STEPS_FOR_GARDENERS.md new file mode 100644 index 0000000..b239958 --- /dev/null +++ b/native_crumbcore_v1/FIRST_STEPS_FOR_GARDENERS.md @@ -0,0 +1,36 @@ +# 🌱 Erste Schritte für Gärtner + +Willkommen im Crumbforest. +Dies ist kein gewöhnliches Software-Projekt. Es ist ein digitaler Wald. + +Bevor du die Axt anlegst oder neue Setzlinge pflanzt, bitten wir dich: **Atme.** + +## 1. Die Philosophie +Wir bauen hier keine "Apps" für den schnellen Konsum. Wir bauen Werkzeuge zum Lernen. +- **Verstehen vor Ändern:** Kopiere keinen Code, den du nicht erklären kannst. +- **Naked Setup:** Wir nutzen Debian/FreeBSD pur. Keine Docker-Container, die Komplexität verstecken. Wir wollen die "echte" Maschine spüren. +- **Logs sind Geschichten:** Wenn etwas nicht geht, lies die Logs. Sie erzählen dir, was dem Wald fehlt. + +## 2. Die goldene Regel +**Mache nichts kaputt, was du nicht reparieren kannst.** + +Das System läuft stabil ("Nexus Ready"). Wenn du experimentieren willst: +1. Erstelle deinen eigenen Branch (z.B. `crumb_j`). +2. Teste lokal. +3. Nutze `strato_doctor.sh`, um die Gesundheit zu prüfen. + +## 3. Bevor du startest +Lies diese Dateien (wirklich!): +- `README.md` - Der Aufbau des Waldes. +- `log_analyse_handbuch.md` - Wie man den Herzschlag des Systems liest. + +## 4. Deine Werkzeuge +- **`./strato_doctor.sh`**: Dein Stethoskop. Sagt dir, ob Services laufen und wie die Latenz ist. +- **`./fix_eule.sh`**: Das Notfall-Kit, wenn permissions kaputt sind. Nutze es weise. + +## 5. Kein "Coolify", kein "Vercel" +Wir wissen, dass es einfacher geht. Aber wir wählen den steinigen Pfad, weil wir lernen wollen, wie man Schuhe bindet, nicht wie man Klettverschluss benutzt. + +--- +*"Wer seine Logs liest, tanzt mit dem System."* +🌲 Viel Erfolg, junger Gärtner. diff --git a/native_crumbcore_v1/README.md b/native_crumbcore_v1/README.md index ce704e5..b2c96df 100644 --- a/native_crumbcore_v1/README.md +++ b/native_crumbcore_v1/README.md @@ -1,6 +1,7 @@ # 🦉 Crumbforest Native Deployment Docker-freie Installation für Linux Server mit fester IP-Adresse. +> 🌱 **Neu hier?** Lies zuerst [FIRST_STEPS_FOR_GARDENERS.md](FIRST_STEPS_FOR_GARDENERS.md), bevor du Code änderst. ## 📦 Inhalt diff --git a/native_crumbcore_v1/todo.md b/native_crumbcore_v1/todo.md index 67fb9a5..62424ef 100644 --- a/native_crumbcore_v1/todo.md +++ b/native_crumbcore_v1/todo.md @@ -1,27 +1,17 @@ -# Deployment & Fixes Checklist +# 🌲 Crumbforest Roadmap & Maintenance -- [x] **Fix Deployment Issues** - - [x] **Docs Route**: Enable [docs_git.md](file:///Users/bmt/Downloads/crumbcrm_crumbcore_v1/app/docs/docs_git.md) in whitelist and copy file. - - [x] **Chat Stability**: Increase rate limit (60/min) and Nginx timeouts (300s). - - [x] **Vector Search**: Auto-detect embedding provider for robustness. - - [x] **SSL Setup**: Automate Certbot for `sslip.io` domain. - - [x] **TTYD / Missions**: - - [x] Create setup script ([setup_missions.sh](file:///Users/bmt/Downloads/crumbcrm_crumbcore_v1/native_crumbcore_v1/setup_missions.sh)). - - [x] Configure Nginx route `/terminal/`. - - [x] Fix TTYD 404 (Zombie process killed, Service restarted). +## 🛡️ Maintenance & Stability +- [ ] **Monitor Logs**: Regelmäßige Prüfung mit `./strato_doctor.sh`. +- [ ] **Update Validierung**: Vor jedem Server-Update `git pull` ausführen! -- [x] **Verification** - - [x] Push fixes to server. - - [x] Run updated [setup_missions.sh](file:///Users/bmt/Downloads/crumbcrm_crumbcore_v1/native_crumbcore_v1/setup_missions.sh). - - [x] **Verify Nginx Config on Server** (Critical Step). - - [x] Confirm TTYD accessible via browser. - - [x] Confirm Chat and Docs functional. +## 🌱 Community & Gardeners +- [ ] **Onboarding**: Feedback der neuen Krümel (z.B. `crumb_j`) in Docs einarbeiten. +- [ ] **Missions**: Neue Missionen für TTYD entwickeln. - - [x] 'Bugsy' Health Check features. +## 🎨 Backlog (Future) +- [ ] **Mission Selector**: Syntax-Fehler in `waldwaechter.sh` beheben. +- [ ] **Docs Reader**: 404/Empty List auf `/docs` untersuchen. +- [ ] **Debian Doktor**: 'Syslog' Option entfernen falls nicht verfügbar. -## Cosmetics & Future (Backlog) -- [ ] **Mission Selector**: Fix [stat](file:///Users/bmt/Downloads/crumbcrm_crumbcore_v1/app/routers/chat.py#232-243) syntax error in `waldwaechter.sh` (Line 720). -- [ ] **Docs Reader**: Investigate 404/Empty list on `/docs`. -- [ ] **Debian Doktor**: Remove 'Syslog' option if not available on host. - -# Status: 🌲 NEXUS READY 🌲 +--- +*Status: 🌲 NEXUS LIVE 🌲*