Przejdź do treści

KRET LANGUAGE ACADEMY · DOKUMENTACJA ZE ŹRÓDEŁ

Naucz się budować z Kret.

Od pierwszego manifestu do własnego pluginu. Ucz się z rzeczywistych plików, poznawaj kontrakty i sprawdzaj wiedzę krok po kroku.

18ścieżek nauki
85lekcji
32przykłady SDK
435rozdziałów źródłowych

Wybierz swoją ścieżkę

FOUNDATIONS · 8 lekcji

Podstawy ekosystemu Kret

Od wyboru technologii przez pierwszy projekt do czytania diagnostyki i granic brokera.

Zobacz program
LANGUAGE · 3 lekcji

KretL — trzy poziomy

KretL opisuje plugin: tożsamość, zgodność z Core i API, uprawnienia (deklaracje), cykl życia, tryb wykonania, limity, izolację, obszary danych, zależności i komendy hosta. Nie zawiera logiki. Jedyny manifest bieżącej generacji to `plugin.kretl` w katalogu głównym projektu.

Zobacz program
LANGUAGE · 3 lekcji

KretS — trzy poziomy

KretS (oficjalnie KretScript, generacja 2.0) to statycznie typowany język logiki pluginów. Kompiluje się do bytecode KBC 2 i działa w maszynie z weryfikatorem w osobnym procesie pluginu. Operacje hosta (dziennik, KretDB, konfiguracja, AI, mosty) są dostępne tylko przez brokera i tylko przy uprawnieniu z KretL.

Zobacz program
LANGUAGE · 3 lekcji

KretDB — trzy poziomy

KretDB to własny interfejs bazy danych pluginu: schemat w `Disk/Schema.kdb`, nazwane zapytania typowane względem KretS, transakcje, izolowana baza należąca do brokera (backend SQLite — decyzja R-11). Plugin nigdy nie widzi SQL ani uchwytu bazy.

Zobacz program
LANGUAGE · 3 lekcji

KretUI — trzy poziomy

KretUI opisuje strukturę i interakcje interfejsu (widoki, stan, bindingi, akcje do komend KretS). KretStyle opisuje wygląd (selektory, kaskada, stany, `media`), KTheme — motyw (tokeny, warianty `dark`/`highContrast`, kontrola kontrastu WCAG). Renderer SDK (Avalonia) działa we własnym procesie, logika w procesie pluginu. Interfejs nie nadaje uprawnień i nie przechowuje sekretów.

Zobacz program
LANGUAGE · 3 lekcji

KretFlow — trzy poziomy

KretFlow zapisuje logikę jako graf bloków (JSON, `kretflow-ir/2`). **Nie ma osobnego silnika przepływów**: graf jest obniżany do automatu stanów w KretS, kompilowany zwykłym kompilatorem i wykonywany przez tę samą maszynę, z tymi samymi uprawnieniami i limitami. Nazwa „KretFollow” nie występuje w żadnym źródle — to literówka, nie nazwa historyczna.

Zobacz program
LANGUAGE · 3 lekcji

KretAI — trzy poziomy

KretAI (w SDK `KretAi`) deklaruje modele, narzędzia (funkcje KretS) i agentów. Zamrożone są deklaracje, walidacja oraz bramki uprawnień i polityki danych. **Wykonanie z prawdziwym modelem nie należy do kontraktu 1.0** (KretAI 1.1+, NOT_RUN). W Core KretAI jest DISABLED.

Zobacz program
LANGUAGE · 3 lekcji

KretLink — trzy poziomy

KretLink to wersjonowane kontrakty usług (`.klink`) i dwa protokoły: łącze broker↔plugin `kretlink-local/1` (stdin/stdout) oraz RPC `kretlink-rpc/1` na potokach nazwanych (tożsamość procesu, wzajemny HMAC, terminy). Kontrakt można walidować, ale **nie daje on prawa do komunikacji**. Eksport usług pluginów, `stream` w Core i produkcyjne uprawnienia `kretlink.*` są zablokowane (A17, FB-06).

Zobacz program
LANGUAGE · 3 lekcji

KretM — trzy poziomy

KretM opisuje strukturę projektu: warstwy, moduły z katalogami i plikami, dozwolone (`allow`) i zakazane (`deny`) zależności oraz połączenia. Kompilator sprawdza kod KretS względem mapy. **KretM niczego nie przyznaje** i **nie jest językiem bibliotek funkcji** (to rola KretMod). Mapę włącza `project { map }` w KretL.

Zobacz program
LANGUAGE · 3 lekcji

KretLib — trzy poziomy

KretLib zarządza bibliotekami KretS: manifest biblioteki (`library.klib`), wymagania projektu (`project.klibs`), rozstrzyganie wersji, plik blokady ze skrótami SHA-256, instalacja offline do `Libs/` i opcjonalny rejestr HTTPS. Zamrożony zakres: biblioteki offline z blokadą i skrótami. Biblioteka **nie deklaruje uprawnień**.

Zobacz program
LANGUAGE · 3 lekcji

KretBridge — trzy poziomy

KretBridge łączy KretS z biblioteką C# działającą w **osobnym procesie usługi**, wywoływanej przez brokera jak operacja hosta (KretS → broker → KretLink RPC → proces C# → wynik). Status PROVISIONAL_VERSIONED; **w Core zablokowany** — kod natywny nie jest izolowany jak plugin w AppContainer. To nie jest sandbox dla C#.

Zobacz program
LANGUAGE · 3 lekcji

KretConfig — trzy poziomy

KretConfig opisuje ustawienia pluginu: schemat (typy z jednostkami, zakresy, wartości dozwolone, `hotReload`, ustawienia tajne), profile (z dziedziczeniem), warstwy (domyślne → użytkownik → projekt → moduł) i politykę hosta, która zawsze wygrywa. Sekrety wyłącznie przez Vault (Windows DPAPI). Status **PROVISIONAL_VERSIONED** (własna ścieżka rozwoju).

Zobacz program
LANGUAGE · 3 lekcji

KretMod — trzy poziomy

KretMod to **zdefiniowana, niezaimplementowana** koncepcja bibliotek funkcji i modułów Kret: jednostek kodu wielokrotnego użytku, publikowanych i wersjonowanych niezależnie od pluginu. **KretMod ≠ KretM** (KretM to mapa jednego projektu). Implementacja nie istnieje w żadnym repozytorium, SDK, KretStudio, bazie wiedzy ani na stronie. Dziś tę funkcję pełni KretLib.

Zobacz program
PLUGIN · 21 lekcji

Twój pierwszy plugin — KretHello

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

Zobacz program
PROJECT · 5 lekcji

Notatnik KretDB

Notatnik na KretDB: tworzenie, odczyt, edycja z kontrolą rewizji, usuwanie, wyszukiwanie, sortowanie; izolowana baza pluginu (4 MB, limit 1000 rekordów). Interfejs KretUI z KretStyle/KTheme. Dane wyłącznie przez nazwane zapytania i transakcje — plugin nie widzi SQL.

Zobacz program
PROJECT · 5 lekcji

KretTasks — lista zadań

Menedżer zadań: lista, priorytet (`low`/`normal`/`high`), termin (data ISO z kontrolą lat przestępnych), status wykonania, filtr otwarte/zrobione, zapis i odczyt w KretDB, interfejs KretUI.

Zobacz program
PROJECT · 5 lekcji

Dashboard KretUI

Panel informacji systemowych: RAM, CPU, GPU, VRAM, temperatury, RPM — wyłącznie przez moduł hosta `Kret.Hardware` (PROVISIONAL, G-06) i **opcjonalne** uprawnienia KCS. Każdy odczyt przechodzi przez Security Broker; odmowa albo brak sensora jest pokazywany jako `DENIED`/`UNAVAILABLE`, a plugin działa dalej. Brak sterowania sprzętem (bez PWM). W SDK nie ma dostawcy sensorów, więc odczyty kończą się odmową — to oczekiwane.

Zobacz program
PROJECT · 5 lekcji

Plugin wielojęzykowy

Jeden projekt łączący oficjalnie obsługiwane technologie: manifest KretL z mapą KretM (warstwy Ui → Logic → Data), moduły KretS z regułami mapy, dane KretDB, biblioteka offline KretLib (`mathx` → `textutil`) i widok KretUI wywołujący komendę `orders.summary`.

Zobacz program

Twoja nauka

Kursy są publiczne. Postęp i zakładki zapiszesz po zalogowaniu na konto użytkownika. Zaloguj się →

Jedno zadanie, właściwa technologia

Status języka, wynik SDK i dostęp Core to osobne informacje. KretMod jest koncepcją bez implementacji.

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

Polityka prywatności