redAi Developers

Struktura folderu

narzedzia/<klucz>/
  narzedzie.php          manifest (return [...]), JEDYNY plik obowiązkowy
  src/                   klasy PHP, przestrzeń Narzedzia\<Pascal>\ (ładuje je portal, bez composera)
  src/Narzedzie.php      opcjonalnie: haki, klasa Narzedzia\<Pascal>\Narzedzie extends App\Narzedzia\Narzedzie
  trasy.php              trasy za logowaniem
  trasy-publiczne.php    opcjonalnie: trasy bez logowania
  widoki/                widoki Blade: view('<klucz>::lista'), @include('<klucz>::_czesc')
  migracje/              migracje Laravela (tabele modułu)
  konfig.php             opcjonalnie: config('<klucz>.*')
  zasoby/                pliki statyczne (css, js, obrazy, fonty) pod /narzedzia-zasoby/<klucz>/...
  zasoby/zrzuty/         zrzuty ekranu do karty w Modułach (01.webp, 02.webp...)
  skille/<nazwa>/SKILL.md  opcjonalnie: skille czatu
  • Klucz = nazwa folderu: małe litery, cyfry i podkreślnik, 2-41 znaków, zaczyna się od litery. Wzorzec: ^[a-z][a-z0-9_]{1,40}$. Przykład: faktury_kosztowe.
  • Klucz jest globalnie unikalny w katalogu i należy do autora, który pierwszy go wysłał. Wybierzcie nazwę, która nie zderzy się z innymi, np. z przedrostkiem firmy (acme_faktury).
  • Przestrzeń PHP to klucz w PascalCase: faktury_kosztowe → Narzedzia\FakturyKosztowe\. Plik src/Dane/Import.php = klasa Narzedzia\FakturyKosztowe\Dane\Import. Autoloader portalu ładuje tylko tę przestrzeń.
  • Foldery i pliki zaczynające się od kropki są zarezerwowane. Portal zapisuje w folderze modułu plik .zrodlo.json (skąd moduł przyszedł), nie wkładajcie go do paczki.
  • Folder z błędem w manifeście jest pomijany, a błąd trafia do logu portalu. Portal działa dalej.
  • Folder modułu jest przy aktualizacji podmieniany w całości. Nie trzymajcie w nim danych użytkowników. Dane idą do bazy albo do storage/app/<klucz>/.

Ostatnia zmiana dokumentacji: 29.09.2026. Pytania: m@redai.pl.