Manifest narzedzie.php
Manifest to plik PHP, który zwraca tablicę (return [...]). To jedyny plik obowiązkowy.
Manifest ma być samymi stałymi. Wolno: napisy, liczby, true, false, null, tablice oraz Nazwa\Klasy::class. Nie wolno: wywołań funkcji (__(), env(), config()), zmiennych, stałych typu __DIR__, konkatenacji z wyrażeniami. redai.pl nie wykonuje kodu z Waszej paczki: manifest czytamy parserem tokenów PHP. Manifest z wyrażeniem zostanie odrzucony przy wysyłce.
| Pole | Typ | Obowiązkowe | Co robi |
|---|---|---|---|
nazwa | napis | tak | Nazwa w menu, na liście narzędzi i w Modułach. |
wersja | napis x.y.z | tak (w katalogu) | Numer wersji modułu (semver). Każda wysyłka musi mieć wyższy numer niż poprzednia. |
zmiany | tablica | zalecane | Lista zmian: klucz = wersja, wartość = lista zdań dla użytkownika. Najnowsza pierwsza. |
wymaga_portalu | napis x.y.z | nie | Minimalna wersja portalu instancji. Starszy portal nie dostanie modułu w katalogu. |
opis | napis | tak | Jedno zdanie: co z tego macie. {host} zamienia się na domenę instancji. |
ikona | emoji | nie | Ikona na liście narzędzi. Domyślnie 🔧. |
ikona_svg | napis | nie | Wnętrze SVG 24x24 (obrys, bez znacznika <svg>) do menu po lewej. |
kategoria | napis | nie | Grupa w Modułach: dokumenty, komunikacja, rejestry. Domyślnie dokumenty. |
kolejnosc | liczba | nie | Pozycja na liście, mniejsza = wyżej. Domyślnie 100. |
domyslnie | bool | nie | Czy moduł jest włączony od razu. Dla modułów z katalogu zostawcie false. |
trasy.prefiks | napis | nie | Początek adresów. Domyślnie narzedzia/<klucz z myślnikami>. |
trasy.nazwy | napis | nie | Przedrostek nazw tras. Domyślnie <klucz>. |
trasy.start | napis | nie | Nazwa trasy ekranu startowego bez przedrostka. Domyślnie index. |
konfig | napis | nie | Klucz config() dla konfig.php. Domyślnie <klucz>. |
komendy | lista klas | nie | Komendy artisan z src/. |
klasa | klasa | nie | Własna klasa haków. Domyślnie src/Narzedzie.php. |
aliasy | tablica | nie | Stara klasa => nowa. Potrzebne tylko przy przenoszeniu kodu, zwykle puste. |
opis_pozycji | tablica | zalecane | Karta modułu w Modułach i ekran przed włączeniem (szczegóły niżej). |
opis_pozycji ma klucze:
| Klucz | Co pokazuje |
|---|---|
daje | Lista „Co Wam to daje”, 2-4 zdania. |
przyklady | Lista przykładów użycia. |
przyklady_tytul | Nagłówek przykładów, np. „Co zrobicie w narzędziu”. |
szczegoly | Szczegóły działania. Tu wpiszcie też każdy zewnętrzny adres, z którym moduł się łączy. |
kroki | Kroki startu, np. „Włączcie narzędzie przyciskiem poniżej.” |
wlacz | Napis na przycisku włączenia. |
Pełny przykład z wersją i listą zmian:
PHP
<?php
return [
'nazwa' => 'Faktury kosztowe',
'wersja' => '1.2.0',
'zmiany' => [
'1.2.0' => ['Import faktur z pliku CSV.', 'Szybsza lista przy tysiącach faktur.'],
'1.1.0' => ['Filtr po kontrahencie.'],
'1.0.0' => ['Pierwsza wersja.'],
],
'wymaga_portalu' => '1.3.20',
'opis' => 'Faktury kosztowe w jednym miejscu, z wyszukiwaniem po kontrahencie.',
'ikona' => '🧾',
'ikona_svg' => '<path d="M6 3h12v18l-3-2-3 2-3-2-3 2z"/><path d="M9 8h6M9 12h6"/>',
'kategoria' => 'dokumenty',
'kolejnosc' => 50,
'domyslnie' => false,
'trasy' => [
'prefiks' => 'narzedzia/faktury-kosztowe',
'nazwy' => 'faktury_kosztowe.',
'start' => 'index',
],
'konfig' => 'faktury_kosztowe',
'komendy' => [Narzedzia\FakturyKosztowe\Importuj::class],
'opis_pozycji' => [
'daje' => ['Wszystkie faktury kosztowe w jednej liście.', 'Wyszukiwanie po kontrahencie i kwocie.'],
'przyklady' => ['Wgrajcie CSV z banku i sprawdźcie, czego brakuje.'],
'przyklady_tytul' => 'Co zrobicie w narzędziu',
'szczegoly' => ['Moduł nie łączy się z żadnym zewnętrznym adresem.'],
'kroki' => ['Włączcie narzędzie przyciskiem poniżej.', 'Kliknijcie „Nowa faktura”.'],
'wlacz' => 'Włączcie narzędzie',
],
];Teksty dla użytkownika piszcie jak w całym portalu: 2. osoba liczby mnogiej („Wy/Wasze”), bez em-dashów, bez żargonu i nazw plików.
Ostatnia zmiana dokumentacji: 29.09.2026. Pytania: m@redai.pl.