Przejdź do treści

KRET LANGUAGE ACADEMY · DOKUMENTACJA ZE ŹRÓDEŁ

Twój pierwszy plugin — KretHello

21 etapów: od nowego projektu przez check, testy i paczkę dev do jawnie opisanych bramek Core oraz publikacji.

Postęp nauki 0 / 21
Zaloguj się na konto użytkownika, aby zachować postęp.

Program kursu

  1. 01

    Czym jest plugin

    KretHello łączy manifest z trzema plikami źródeł i testami. Jego tożsamość jest lokalna; przykład uczy przepływu tworzenia, nie stanowi oficjalnie wydanego produktu.

    BASIC · 15 min
  2. 02

    Rola Core i brokera

    Core ładuje plugin według własnych zasad. KretHello jest ELIGIBLE_DEV bez uprawnień; nie potrzebuje zmiany D-KCS-01. Host pozostaje osobnym procesem z własną polityką.

    BASIC · 15 min
  3. 03

    Przypięte narzędzia

    Sprawdź SDK_MANIFEST.json i zgodność CLI z materiałami. Lokalny kandydat nie ma podpisu produkcyjnego; nie przedstawiaj go jako oficjalnego instalatora do pobrania.

    BASIC · 15 min
  4. 04

    Nowy projekt

    W nowym katalogu lokalnym wzorzec SDK basic tworzy bazę projektu: kret new basic <katalog> --name KretHello. Porównaj go z dostarczonym src, zamiast nadpisywać istniejący projekt.

    BASIC · 15 min
  5. 05

    Katalogi i pliki

    Manifest znajduje się bezpośrednio w src; Script/Main.krs ma logikę, Tests/HelloTests.krs testy. examples/host-policy.json jest polityką testowego hosta, nie uprawnieniem pakowanym do pluginu.

    BASIC · 15 min
  6. 06

    Manifest KretL

    Przeczytaj deklarację id i lifecycle. Sprawdź, do którego handlera prowadzi start i shutdown. KretHello nie deklaruje permissions: to zamierzony sposób uniknięcia zależności od otwartych uprawnień Core.

    BASIC · 15 min
  7. 07

    Logika KretS

    Main.krs implementuje handlery i komendę hello.greet. Czytaj typ argumentu i typ wyniku przed return. Wartość zwrócona nie wymaga operacji log ani dostępu do systemu plików.

    BASIC · 15 min
  8. 08

    Start i shutdown

    Host wywołuje funkcje lifecycle opisane manifestem. Osobno sprawdzaj typ i timeout handlera. Wyjątek w starcie i normalne zakończenie to różne ścieżki; nie zakładaj, że build sprawdził ich wykonanie.

    BASIC · 15 min
  9. 09

    Walidacja źródeł

    Z katalogu pluginu uruchom lokalnie kret check src --json. Odczytaj succeeded i diagnostics. Brak błędów kompilatora nie potwierdza podpisu paczki ani zgody hosta.

    BASIC · 15 min
  10. 10

    Kompilacja

    kret build src tworzy src/Build/plugin.kbc i manifest.json. To artefakty lokalne. Zachowaj źródła do późniejszej paczki Core; samo bytecode nie wystarcza według STUDIO-R02.

    INTERMEDIATE · 25 min
  11. 11

    Lokalne wykonanie

    SDK run używa examples/host-policy.json i świeżego DATA. Instrukcja przewiduje --invoke hello.greet z argumentem Kret. Nie wskazuj katalogu Core Production i nie wykonuj polecenia przez serwer strony.

    INTERMEDIATE · 25 min
  12. 12

    Testy zachowania

    kret test src --json --policy examples/host-policy.json uruchamia testy lokalnego SDK. HelloTests.krs dokumentuje oczekiwany wynik, a raport potwierdza konkretne asercje. Nie zamieniaj oczekiwań tylko dlatego, że test nie przeszedł.

    INTERMEDIATE · 25 min
  13. 13

    Opcjonalna baza danych

    Dodanie KretDB zmienia wymagania: potrzebujesz schematu, kodu i deklaracji hosta. KretHello pozostaje minimalną bazą; przejdź do osobnego KretNotes. Nie dodawaj uprawnień UI/DB do Core, gdy D-KCS-01 jest OPEN.

    INTERMEDIATE · 25 min · analiza / koncepcja
  14. 14

    Opcjonalny interfejs

    KretUI potrzebuje plików widoku, stylu i motywu oraz spójnych akcji KretS. SDK preview i dostępność UI w Core to osobne rzeczy. Wykorzystaj KretUiDemo jako odrębne ćwiczenie.

    INTERMEDIATE · 25 min · analiza / koncepcja
  15. 15

    Obsługa błędów

    Najpierw odróżnij błąd składni, typu, host policy i instalacji. Czytaj kod i szczegóły właściwej wersji SDK. Uprawnienie do dziennika nie jest konieczne do zwracania błędu jako wyniku testu.

    INTERMEDIATE · 25 min
  16. 16

    Paczka dev ze źródłami

    Instrukcja podaje kret publish pack src --channel dev --include-sources -o package. Kanał dev jest niepodpisany. Polityka hosta nie trafia do .kpkg. --include-sources jest wymagane przez Core KPM.

    ADVANCED · 25 min
  17. 17

    Weryfikacja paczki

    publish verify zapisuje raport. signature: SKIPPED oznacza brak podpisu, a nie PASS. Sprawdzenie integralności paczki nie zastępuje ceremonii podpisu produkcyjnego C1.

    ADVANCED · 25 min
  18. 18

    KPM Developer — warunki importu

    Ten etap wymaga osobnego środowiska Core Developer i właściwej wersji KPM. Materiały źródłowe nie dostarczają tu pełnej publicznej instrukcji instalacji; nie wymyślaj polecenia. Zatrzymaj się na warunkach zgodności i ELIGIBLE_DEV.

    ADVANCED · 25 min · analiza / koncepcja
  19. 19

    Test w Core — osobna bramka

    Test SDK nie jest testem Core. W tej rundzie kurs nie uruchamia Core ani nie zmienia root of trust. Zapisz plan testu w Developer, dane wejściowe i oczekiwany wynik; wykonanie wymaga osobno dostępnego środowiska.

    ADVANCED · 25 min · analiza / koncepcja
  20. 20

    Aktualizacja i usunięcie

    Przed aktualizacją ustal zgodność wersji i zachowanie danych. Usunięcie pluginu nie jest zgodą na usunięcie prywatnych danych. Brakuje potwierdzonego publicznego kontraktu poleceń KPM dla tych kroków; kurs przedstawia checklistę, nie fikcyjne komendy.

    ADVANCED · 25 min · analiza / koncepcja
  21. 21

    Formalna publikacja

    Lokalny test i paczka dev nie są publikacją. Potrzebne są zgodne źródła, raporty, licencje, proces wydawcy, właściwy podpis i zatwierdzenie właściciela. KretForge pozostaje wstrzymany; żaden przycisk kursu nie publikuje paczki.

    ADVANCED · 25 min · analiza / koncepcja

Wybierz, co możemy zapamiętać w tej przeglądarce. Możesz zmienić decyzję w każdej chwili.

Polityka prywatności