MiniLlama/TEST_SCENARIO.md

169 lines
2.9 KiB
Markdown
Raw Permalink Normal View History

# MiniLlama — CLI Test-Szenario
> Dieses Szenario testet die Kernfunktionen des CrowdCode CLI:
> Datei-Operationen (FILE:, DIR:, EDIT:), Shell-Zugriff (```bash),
> @mentions, und Chat.
## Vorbereitung
Sicherstellen, dass der Server läuft oder über den CLI automatisch gestartet wird:
```bash
cd /home/xray/code/MiniLlama
./start.sh
```
Oder für API-Zugriff:
```bash
cd /home/xray/code/MiniLlama
./start-server.sh
```
## Test 1: Einfacher Chat
**Eingabe:**
```
Sag kurz: Hallo Welt
```
**Erwartet:** Antwort "Hallo Welt!" (oder ähnlich)
---
## Test 2: Verzeichnis + Datei anlegen
**Eingabe:**
```
Lege ein Verzeichnis test_reihe an, erstelle darin Test.txt mit dem Text "ich bin ein test"
```
**Erwartet:**
- CLI zeigt `DIR: test_reihe` → Verzeichnis wird erstellt
- CLI zeigt `FILE: test_reihe/Test.txt` → Datei wird geschrieben
- Inhalt: `ich bin ein test`
---
## Test 3: Datei kopieren
**Eingabe:**
```
kopiere Test.txt als Test2.txt ins gleiche Verzeichnis
```
**Erwartet:**
- CLI zeigt `` ```bash cp test_reihe/Test.txt test_reihe/Test2.txt````
- CLI fragt: "Ausführen? (j/N)" → **j** eingeben
- `Test2.txt` existiert mit gleichem Inhalt
---
## Test 4: Shell-Befehl (direkt)
**Eingabe:**
```
ls -la test_reihe/
```
**Erwartet:**
- Wird direkt als Shell-Befehl erkannt (kein LLM)
- Zeigt `Test.txt` und `Test2.txt`
---
## Test 5: Shell-Befehl mit Prompt-Präfix
**Eingabe:**
```
$ pwd
```
**Erwartet:**
- `$ ` wird ignoriert, `pwd` wird erkannt
- Zeigt aktuellen Pfad
---
## Test 6: Datei lesen (@mention)
**Eingabe:**
```
@test_reihe/Test.txt
```
**Erwartet:**
- Inhalt `ich bin ein test` wird eingelesen und ans LLM übergeben
---
## Test 7: Verzeichnis auflisten (@mention)
**Eingabe:**
```
@test_reihe/
```
**Erwartet:**
- Listet `Test.txt` und `Test2.txt`
---
## Test 8: Natürlichsprachliche Dateiabfrage
**Eingabe:**
```
liste die dateien in test_reihe auf
```
**Erwartet:**
- LLM gibt `` ```bash ls -la test_reihe/```` zurück
- CLI fragt "Ausführen? (j/N)" → **j** eingeben
- Zeigt Dateiliste
---
## Test 9: Mehrere Dateien auf einmal (Wiki-Stil)
**Eingabe:**
```
Erstelle folgende Dateien:
- DIR: projekt/src
- FILE: projekt/src/hello.py mit einem print("Hallo Welt")
- FILE: projekt/README.md mit einer kurzen Beschreibung
```
**Erwartet:**
- Alle DIR:- und FILE:-Patterns werden automatisch ausgeführt
- Keine Bestätigungsabfragen nötig
---
## Test 10: Aufräumen
**Eingabe:**
```
Lösche das test_reihe und projekt Verzeichnis
```
**Erwartet:**
- CLI zeigt `` ```bash rm -rf test_reihe projekt````
- CLI fragt "Ausführen? (j/N)" → **j** für Bestätigung
---
## Erfolgskriterien
| Test | Feature | Status |
|---|---|---|
| 1 | Chat | ⬜ |
| 2 | DIR: + FILE: | ⬜ |
| 3 | ```bash (cp) mit Bestätigung | ⬜ |
| 4 | Shell direkt | ⬜ |
| 5 | Prompt-Präfix $ | ⬜ |
| 6 | @mention (lesen) | ⬜ |
| 7 | @mention (dir) | ⬜ |
| 8 | NL-Dateiabfrage via LLM | ⬜ |
| 9 | Multi-File Wiki-Stil | ⬜ |
| 10 | Aufräumen | ⬜ |