added files with prompts

This commit is contained in:
2026-06-12 12:54:10 +02:00
parent 0f791c3a90
commit 2cd8671014
21 changed files with 1517 additions and 0 deletions

75
docs/prompts/step12.md Normal file
View File

@ -0,0 +1,75 @@
# Krok 12 - Generovanie fronty úloh (AI Queue)
## Kontext projektu
Po dokončení wizardu sa spustí proces generovania obsahu pomocou AI. Tento proces je asynchrónny a prebieha cez frontu úloh v `data/llm/`.
## Pred implementáciou si preštuduj
- `docs/architecture.md` - Sekcia 10 (AI workflow).
- `docs/prompts/step04.md` - Správa projektov.
## Cieľ
Implementovať API akciu `generateWebsite`, ktorá vytvorí AI úlohu a prepne stav projektu.
## Požadované zmeny
1. Na backende (`ajax.php` alebo `TaskActions.php`):
- Implementácia akcie `generateWebsite`.
- Overenie, či projekt existuje a má všetky potrebné dáta (najmä GDPR súhlas).
- Zmena stavu projektu na `queued`.
- Vytvorenie JSON súboru úlohy v `data/llm/` s unikátnym `task_id`.
- Súbor úlohy obsahuje `project_id`, `wizard_data` a metadáta (pokusy, čas vytvorenia).
2. Na frontende (`wizard.js`):
- Volanie `generateWebsite` po poslednom kroku wizardu.
- Implementácia "polling" mechanizmu (volanie `getProjectStatus` každých pár sekúnd) na sledovanie progresu.
- Zobrazenie loaderu s aktuálnym stavom (`queued`, `generating`, `rendering`).
## Implementačné pravidlá
- Úloha vo fronte musí obsahovať snapshot `wizard_data` v čase vytvorenia.
- Stav projektu `queued` blokuje ďalšie zmeny v `wizard_data`.
## Súbory ktoré je potrebné vytvoriť
- `src/Actions/TaskActions.php` (voliteľné, pre čistotu kódu)
## Súbory ktoré je potrebné upraviť
- `public/ajax.php` (pridanie akcie `generateWebsite`)
- `public/js/wizard.js` (logika pre spustenie generovania a polling)
## API a dátové štruktúry
Štruktúra úlohy (`data/llm/t_<id>.json`):
```json
{
"task_id": "t_...",
"project_id": "p_...",
"status": "queued",
"attempt_count": 0,
"max_attempts": 3,
"created_at": "...",
"wizard_data": { ... }
}
```
## Frontend požiadavky
- Animovaný spinner alebo progress bar.
- Informovanie používateľa, že generovanie môže trvať niekoľko desiatok sekúnd.
## Backend požiadavky
- Zabezpečenie, aby nevznikali duplicitné úlohy pre ten istý projekt, ak už jedna prebieha.
## Testovací scenár
1. Prejdi celým wizardom a na konci klikni na "Generovať web".
2. Over, či sa v `data/llm/` vytvoril súbor úlohy.
3. Over, či sa stav projektu v `data/projects/` zmenil na `queued`.
4. Sleduj v konzole prehliadača, či polling (`getProjectStatus`) prebieha správne.
## Definition of Done
- Systém úspešne zaraďuje projekty do AI fronty.
- Frontend korektne sleduje stav generovania.
- Dáta pre AI sú správne pripravené.
## Obmedzenia
- V tomto kroku sa ešte nevykonáva samotné volanie AI (len zaradenie do fronty).
## Výstup
- zoznam vytvorených súborov
- zoznam upravených súborov
- stručné zhrnutie vykonaných zmien
- prípadné otvorené problémy