redAi Developers

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.

PoleTypObowiązkoweCo robi
nazwanapistakNazwa w menu, na liście narzędzi i w Modułach.
wersjanapis x.y.ztak (w katalogu)Numer wersji modułu (semver). Każda wysyłka musi mieć wyższy numer niż poprzednia.
zmianytablicazalecaneLista zmian: klucz = wersja, wartość = lista zdań dla użytkownika. Najnowsza pierwsza.
wymaga_portalunapis x.y.znieMinimalna wersja portalu instancji. Starszy portal nie dostanie modułu w katalogu.
opisnapistakJedno zdanie: co z tego macie. {host} zamienia się na domenę instancji.
ikonaemojinieIkona na liście narzędzi. Domyślnie 🔧.
ikona_svgnapisnieWnętrze SVG 24x24 (obrys, bez znacznika <svg>) do menu po lewej.
kategorianapisnieGrupa w Modułach: dokumenty, komunikacja, rejestry. Domyślnie dokumenty.
kolejnoscliczbaniePozycja na liście, mniejsza = wyżej. Domyślnie 100.
domyslnieboolnieCzy moduł jest włączony od razu. Dla modułów z katalogu zostawcie false.
trasy.prefiksnapisniePoczątek adresów. Domyślnie narzedzia/<klucz z myślnikami>.
trasy.nazwynapisniePrzedrostek nazw tras. Domyślnie <klucz>.
trasy.startnapisnieNazwa trasy ekranu startowego bez przedrostka. Domyślnie index.
konfignapisnieKlucz config() dla konfig.php. Domyślnie <klucz>.
komendylista klasnieKomendy artisan z src/.
klasaklasanieWłasna klasa haków. Domyślnie src/Narzedzie.php.
aliasytablicanieStara klasa => nowa. Potrzebne tylko przy przenoszeniu kodu, zwykle puste.
opis_pozycjitablicazalecaneKarta modułu w Modułach i ekran przed włączeniem (szczegóły niżej).

opis_pozycji ma klucze:

KluczCo pokazuje
dajeLista „Co Wam to daje”, 2-4 zdania.
przykladyLista przykładów użycia.
przyklady_tytulNagłówek przykładów, np. „Co zrobicie w narzędziu”.
szczegolySzczegóły działania. Tu wpiszcie też każdy zewnętrzny adres, z którym moduł się łączy.
krokiKroki startu, np. „Włączcie narzędzie przyciskiem poniżej.”
wlaczNapis 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.