feat: filemanager s NAS pro projekty
- NasFileManager.php - filesystem helper (browse, upload, download, delete, rename, mkdir) - project-files.php API - CRUD operace nad soubory projektu - ProjectFileManager.jsx - React komponenta v detailu projektu - Automaticke vytvoreni slozky pri vytvoreni projektu (rucne i z objednavky) - Prejmenovani slozky pri zmene nazvu projektu - Checkbox "Smazat i soubory na disku" pri mazani projektu/objednavky - Path traversal ochrana, MIME validace, blocklist nebezpecnych typu - Bily spinner v primary tlacitkach, ConfirmModal message jako div - Case-insensitive rename fix pro Windows filesystem Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
40
CLAUDE.md
40
CLAUDE.md
@@ -41,6 +41,32 @@ Aplikace běží na http://localhost:3000
|
||||
|
||||
---
|
||||
|
||||
## Build a Git workflow
|
||||
|
||||
- `dist/` JE v gitu (neni v .gitignore) - slouzi pro deploy na produkci
|
||||
- Produkce se aktualizuje pres `git pull` z tohoto repa
|
||||
- VZDY spust `npm run build` pred pushnutim
|
||||
- NIKDY necommituj bez uspesneho buildu
|
||||
- Kazdy commit MUSI obsahovat aktualni dist/
|
||||
|
||||
### Postup pred kazdym pushem:
|
||||
|
||||
```bash
|
||||
# 1. Lint kontroly
|
||||
npx eslint src/
|
||||
vendor/bin/phpcs
|
||||
|
||||
# 2. Build
|
||||
npm run build
|
||||
|
||||
# 3. Commit vse vcetne dist/
|
||||
git add .
|
||||
git commit -m "typ: popis zmeny"
|
||||
git push
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Autonomní režim
|
||||
|
||||
Když běžíš s `--auto`, dodržuj tento postup:
|
||||
@@ -62,7 +88,7 @@ Když běžíš s `--auto`, dodržuj tento postup:
|
||||
- `npx eslint src/` - 0 errors
|
||||
- `vendor/bin/phpcs` - 0 errors
|
||||
- `npm run build` - musí projít
|
||||
2. Commitni a pushni:
|
||||
2. Commitni a pushni (VCETNE dist/):
|
||||
- `git add .`
|
||||
- `git commit -m "typ: stručný popis změn"`
|
||||
- `git push`
|
||||
@@ -153,13 +179,12 @@ Když běžíš s `--auto`, dodržuj tento postup:
|
||||
|
||||
---
|
||||
|
||||
## Kontroly před buildem
|
||||
## Migrace (SQL změny)
|
||||
|
||||
Vždy spusť před `npm run build`:
|
||||
|
||||
1. `npx eslint src/` - 0 errors, 0 warnings
|
||||
2. `vendor/bin/phpcs` - 0 errors
|
||||
3. Build musí projít bez chyb
|
||||
- Každá SQL změna (INSERT, ALTER TABLE, CREATE TABLE) MUSÍ mít migrační soubor v `migrations/`
|
||||
- Formát názvu: `NNN_popis.sql` (číslování navazuje na poslední existující)
|
||||
- Migrace commitovat přes `git add -f migrations/` (složka je v .gitignore)
|
||||
- Migraci vytvořit VŽDY - i když se SQL spustí ručně přes PHP nebo phpMyAdmin
|
||||
|
||||
---
|
||||
|
||||
@@ -169,6 +194,7 @@ Vždy spusť před `npm run build`:
|
||||
- NIKDY nepoužívej SSH, SCP, rsync na jakýkoli vzdálený server
|
||||
- NIKDY neměň databázi na vzdáleném serveru
|
||||
- NIKDY nespouštěj Chrome bez výslovné žádosti uživatele
|
||||
- NIKDY necommituj bez úspěšného npm run build
|
||||
- Žádné TODO/FIXME v kódu
|
||||
- Žádné `console.log` v kódu (console.error jen s `import.meta.env.DEV` guardem)
|
||||
- Funkce max 50 řádků - u React komponent se počítá logika, ne JSX template
|
||||
|
||||
Reference in New Issue
Block a user