added files with prompts
This commit is contained in:
75
docs/prompts/step12.md
Normal file
75
docs/prompts/step12.md
Normal 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
|
||||
Reference in New Issue
Block a user