Przejdź do treści

KRET LANGUAGE ACADEMY · DOKUMENTACJA ZE ŹRÓDEŁ

Nowy projekt

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

Czego się nauczysz

  • Prześledź źródła i wyjaśnij opisany kontrakt.
  • Wyznacz nowy katalog na eksperyment.
Wymagania wstępne
  • Podstawy, podstawy KretL i KretS; lokalne SDK do kroków wykonywanych samodzielnie.

Wyjaśnienie krok po kroku

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.

Materiały źródłowe do tego tematu

Przeczytaj powiązane rozdziały. Kod i kontrakty zachowano z importu; historia źródeł jest dostępna przy każdym rozdziale.

BUILD_INSTRUCTIONS — KretHello

BUILD_INSTRUCTIONS — KretHello

Katalog roboczy / working directory: folder tego pluginu (zawiera src/). kret = <SDK>\Compiler\kret.exe z SDK 1.0.0-rc.3+kret.local.3 (lub pinned Vendor Core rc.3+kc-base-test610). Wszystkie polecenia poniżej zostały wykonane w tej rundzie — wyniki: TEST_RESULTS.json.

#Krok / StepPolecenie / Command
1Utworzenie projektu / createNowy projekt eksportu (wzorzec: szablon SDK basic). / New export project (pattern: SDK template basic). Nowy projekt od zera / from scratch: kret new basic <katalog> --name KretHello
2Kod / codesrc/plugin.kretl, src/Script/**.krs
3Sprawdzenie / checkkret check src --json
4Buildkret build src → src/Build/plugin.kbc, manifest.json
5Testy / testskret test src --json --policy examples/host-policy.json
5aUruchomienie lokalne / local runkret run src --policy examples/host-policy.json --data <nowy katalog> --invoke 'hello.greet=["Kret"]'
6Paczka / packkret publish pack src --channel dev --include-sources -o package → package/LOCAL-KPL-HELL2KRT-1.0.0-dev.kpkg
7Weryfikacja / verifykret publish verify package/LOCAL-KPL-HELL2KRT-1.0.0-dev.kpkg --report package/verify-report.json

Uwagi / notes:

  • --include-sources jest wymagane dla KPM Core: Core kompiluje plugin ze źródeł i odrzuca paczkę z samym bytecode (source_package_required, STUDIO-R02). / Required for Core KPM.
  • Kanał dev: paczka niepodpisana (signature: SKIPPED, nie PASS). Brak podpisu produkcyjnego — ceremonia C1 nie odbyła się. / Unsigned dev package; no production signature exists.
  • host-policy.json nigdy nie trafia do .kpkg (lista dozwolonych KretPublish). / Never packed.
Otwórz cały rozdział ze źródłem →
COMPATIBILITY — KretHello

COMPATIBILITY — KretHello

Składnik / ComponentWersja / VersionStan / State
KretLkretl-1.0, manifestVersion "1.0"FROZEN_1_0
Języki / languagesKretL, KretSzob. rejestr / see registry (KRET_AI_KNOWLEDGE_BASE → LANGUAGE_REGISTRY.json)
Kret SDK1.0.0-rc.3+kret.local.3 (kandydat lokalny, niepodpisany)testy tej rundy / tested this round
Kret SDK (Core pinned)1.0.0-rc.3+kc-base-test610zgodny (to samo źródło + SFI-B01/T01)
KretStudio0.3.0-beta.2 + patch SFI (kopia testowa)Pack/test/run przez SDK; oryginał KretStudio (lokalna instalacja / local install) 0.2.0 ma SDK rc.2
Kret Engine / KretCore1.0.0-test.6.11-draft.1ELIGIBLE_DEV (brak uprawnień — nie zależy od D-KCS-01)
compatibility w manifeściecore min 0.5.0 (0.5.0), api min 1.6ABI pluginów SDK 1.6
BytecodeKBC format 2—
SystemWindows 11 x64Linux/macOS: NOT_RUN
Otwórz cały rozdział ze źródłem →
01 — KretHello

01 — KretHello

PoleWartość
IdentyfikatorLOCAL-KPL-HELL2KRT (lokalny, rodzina KPL)
Wersja1.0.0
TechnologieKretL, KretS
Stan przykładuRUNNABLE_LOCAL
Stan w Kret Engine (Core)ELIGIBLE_DEV (brak uprawnień — nie zależy od D-KCS-01)
Paczkapackage/LOCAL-KPL-HELL2KRT-1.0.0-dev.kpkg (dev, niepodpisana, ze źródłami)
PochodzenieNowy projekt eksportu (wzorzec: szablon SDK basic). / New export project (pattern: SDK template basic).

Cel

Najprostszy plugin: manifest KretL, logika KretS, cykl życia, komunikat startowy i komunikat zakończenia, jedna komenda hosta i testy. Nie deklaruje żadnych uprawnień — komunikaty są zwracane jako wartości handlerów (log wymagałby logs.own.write, które w Core blokuje otwarte D-KCS-01).

Struktura

ŚcieżkaZawartość
src/projekt SDK w oficjalnym układzie (plugin.kretl w katalogu głównym projektu, Script/, Tests/) — osobny folder manifest/ nie istnieje, bo SDK wymaga manifestu w katalogu projektu
tests/opis testów i surowe logi kroków (tests/logs/)
docs/architektura (Mermaid), pochodzenie źródeł
examples/polityka hosta testowego SDK (tylko lokalnie)
package/.kpkg + raport weryfikacji + SHA-256
BUILD_INSTRUCTIONS.md, INSTALL_INSTRUCTIONS.mdpełny cykl: projekt → kod → check → build → test → pack → verify → KPM → instalacja Developer → start → aktualizacja → usunięcie
SECURITY_PERMISSIONS.md, COMPATIBILITY.mduprawnienia i zgodność wersji
TEST_RESULTS.jsonwyniki tej rundy (SDK; KPM w Core — jeśli wykonano)

Szybki start

kret check src --json
kret run src --policy examples/host-policy.json --data <nowy katalog> --invoke 'hello.greet=["Kret"]'
Czytanie kodu linia po linii

Objaśnienia struktury nie są walidacją semantyczną. Szczegółowy kontrakt opisują referencje i README przykładu.

  1. kret check src --jsonOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.
  2. kret run src --policy examples/host-policy.json --data <nowy katalog> --invoke 'hello.greet=["Kret"]'Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.

Status języka nie nadaje uprawnień KCS ani prawa do Production.

Otwórz cały rozdział ze źródłem →
SECURITY_PERMISSIONS — KretHello

SECURITY_PERMISSIONS — KretHello

Zadeklarowane uprawnienia / declared permissions (src/plugin.kretl)

// brak bloku permissions — plugin nie deklaruje żadnych uprawnień / no permissions declared
Czytanie kodu linia po linii

Objaśnienia struktury nie są walidacją semantyczną. Szczegółowy kontrakt opisują referencje i README przykładu.

  1. // brak bloku permissions — plugin nie deklaruje żadnych uprawnień / no permissions declaredKomentarz autora; nie jest wykonywany.

Zasady / rules

  • Deklaracja ≠ przyznanie (KCS-PERM-3). Dostęp daje polityka hosta i KCS przy każdym wywołaniu (Security Broker). / Declaration is not a grant.
  • examples/host-policy.json to polityka hosta testowego SDK (allowProvisionalRisk tylko dla testów). Nigdy nie importuj jej do Core ani do danych użytkownika. / Test-host policy only; never import into Core.
  • Logika działa w osobnym procesie pluginu (Job Object, token ograniczony / AppContainer). Interfejs KretUI nie nadaje uprawnień i nie przechowuje sekretów. / Logic runs in a separate restricted process.
  • Status w Core / Core status: ELIGIBLE_DEV (brak uprawnień — nie zależy od D-KCS-01). D-KCS-01 pozostaje OPEN; uprawnienia PROVISIONAL nie są aktywowane w Production. / Not activated in Production.
  • Paczka: kanał dev, niepodpisana, z źródłami; nie zawiera kluczy, haseł ani polityki hosta (kontrola sekretów KretPublish). / Dev channel, unsigned, no keys or secrets.
Otwórz cały rozdział ze źródłem →
KretHello — architektura / architecture

KretHello — architektura / architecture

Host: kret run / KretStudio / Kret EngineHost: kret run / KretStudio / Kret EngineSecurity Broker (KCS przy każdym wywołaniu)Security Broker (KCS przy każdym wywołaniu)Proces pluginu (Job Object, AppContainer)Proces pluginu (Job Object, AppContainer)Maszyna KBC 2 + weryfikatorMaszyna KBC 2 + weryfikatorKretLKretLKretSKretSsrc/plugin.kretlsrc/plugin.kretl
Statyczna architektura ze źródeł. Przerywane połączenia zachowują oryginalne ograniczenia i adnotacje. Kod nie jest wykonywany.
Opis tekstowy i źródło
  • Host: kret run / KretStudio / Kret Engine → Security Broker (KCS przy każdym wywołaniu)
  • Security Broker (KCS przy każdym wywołaniu) → Proces pluginu (Job Object, AppContainer)
  • Proces pluginu (Job Object, AppContainer) → Maszyna KBC 2 + weryfikator
  • src/plugin.kretl → Security Broker (KCS przy każdym wywołaniu)
flowchart LR
  Host["Host: kret run / KretStudio / Kret Engine"] --> Broker["Security Broker (KCS przy każdym wywołaniu)"]
  Broker --> Proc["Proces pluginu (Job Object, AppContainer)"]
  Proc --> VM["Maszyna KBC 2 + weryfikator"]
  L0["KretL"]
  L1["KretS"]
  Manifest["src/plugin.kretl"] --> Broker

Pochodzenie / provenance: Nowy projekt eksportu (wzorzec: szablon SDK basic). / New export project (pattern: SDK template basic).

Otwórz cały rozdział ze źródłem →
Architecture diagram

Architecture diagram

Host: kret run / KretStudio / Kret EngineHost: kret run / KretStudio / Kret EngineSecurity Broker (KCS przy każdym wywołaniu)Security Broker (KCS przy każdym wywołaniu)Proces pluginu (Job Object, AppContainer)Proces pluginu (Job Object, AppContainer)Maszyna KBC 2 + weryfikatorMaszyna KBC 2 + weryfikatorKretLKretLKretSKretSsrc/plugin.kretlsrc/plugin.kretl
Statyczna architektura ze źródeł. Przerywane połączenia zachowują oryginalne ograniczenia i adnotacje. Kod nie jest wykonywany.
Opis tekstowy i źródło
  • Host: kret run / KretStudio / Kret Engine → Security Broker (KCS przy każdym wywołaniu)
  • Security Broker (KCS przy każdym wywołaniu) → Proces pluginu (Job Object, AppContainer)
  • Proces pluginu (Job Object, AppContainer) → Maszyna KBC 2 + weryfikator
  • src/plugin.kretl → Security Broker (KCS przy każdym wywołaniu)
flowchart LR
  Host["Host: kret run / KretStudio / Kret Engine"] --> Broker["Security Broker (KCS przy każdym wywołaniu)"]
  Broker --> Proc["Proces pluginu (Job Object, AppContainer)"]
  Proc --> VM["Maszyna KBC 2 + weryfikator"]
  L0["KretL"]
  L1["KretS"]
  Manifest["src/plugin.kretl"] --> Broker
Otwórz cały rozdział ze źródłem →
Pochodzenie / provenance

Pochodzenie / provenance

Nowy projekt eksportu (wzorzec: szablon SDK basic). / New export project (pattern: SDK template basic).

Dokumentacja wygenerowana przez eksport KretLanguageDocumentation (2026-11-01). Wszystkie polecenia z BUILD_INSTRUCTIONS.md zostały wykonane; wyniki w TEST_RESULTS.json.

Otwórz cały rozdział ze źródłem →
KretHello — karta przykładowego pluginu

KretHello — karta przykładowego pluginu

Status RUNNABLE_LOCAL oznacza uruchomienie lokalne przez SDK — to nie jest PRODUCTION_READY. Paczka .kpkg nie jest dostępna do publicznego pobrania.

Najprostszy plugin: manifest KretL, logika KretS, cykl życia, komunikat startowy i komunikat zakończenia, jedna komenda hosta i testy. Nie deklaruje żadnych uprawnień — komunikaty są zwracane jako wartości handlerów (log wymagałby logs.own.write, które w Core blokuje otwarte D-KCS-01).

PoleWartość
NazwaKretHello (KretHello)
IDLOCAL-KPL-HELL2KRT
Wersja1.0.0
Zastosowanie / uwagiDziała lokalnie: pełny cykl KPM (import, plan, instalacja, start, aktualizacja, usunięcie) w izolowanym profilu Developer. Brak uprawnień — nie zależy od D-KCS-01.
Technologie KretKretL, KretS
WymaganiaSDK 1.0.0-rc.3+kret.local.3; Kret Engine 1.0.0-test.6.11-draft.1 (profil Developer); Windows 11 x64; .NET 10
Uprawnienia wymaganebrak
Uprawnienia opcjonalnebrak
Status w SDKRUNNABLE_LOCAL
Status w CoreELIGIBLE_DEV (brak uprawnień — nie zależy od D-KCS-01)
Kod źródłowysrc/
BudowanieBUILD_INSTRUCTIONS.md
Instalacjatylko profil Developer (instrukcja wewnętrzna)
Zrzutybrak
Testyeksport 6/6 PASS; ponownie 2026-11-01: PASS
Publiczne pobieranie.kpkg: NIEDOSTĘPNE; źródła: kandydat po zgodzie właściciela
Otwórz cały rozdział ze źródłem →
Architektura SDK / SDK architecture

Architektura SDK / SDK architecture

kret (Kret.Cli)kret (Kret.Cli)Kret.Sdk: CompilerService · RuntimeHost · DebugController · ProjectConfigKret.Sdk: CompilerService · RuntimeHost · DebugController ·ProjectConfigkret lsp (Kret.LanguageServer, LSP 3.17)kret lsp (Kret.LanguageServer, LSP 3.17)Kret.Compiler: KretL · KretS · KretDB · KretM · (KretUI/KretFlow/KretAi/KretConfig/KretLink/KretLib)Kret.Compiler: KretL · KretS · KretDB · KretM ·(KretUI/KretFlow/KretAi/KretConfig/KretLink/KretLib)Kret.Bytecode: KBC 2Kret.Bytecode: KBC 2Kret.Broker (+ Kret.Broker.Service): Security Broker, KCSKret.Broker (+ Kret.Broker.Service): Security Broker, KCSKret.PluginHost: maszyna Kret.Runtime w izolowanym procesieKret.PluginHost: maszyna Kret.Runtime w izolowanym procesieKret.Db (SQLite)Kret.Db (SQLite)Kret.Publish: .kpkg, podpis ECDSA P-256, trustKret.Publish: .kpkg, podpis ECDSA P-256, trustkretui-host (Kret.Ui, Kret.Ui.Avalonia, Kret.Ui.Preview)kretui-host (Kret.Ui, Kret.Ui.Avalonia, Kret.Ui.Preview)KretStudioKretStudioKret Engine / KretCoreKret Engine / KretCore
Statyczna architektura ze źródeł. Przerywane połączenia zachowują oryginalne ograniczenia i adnotacje. Kod nie jest wykonywany.
Opis tekstowy i źródło
  • kret (Kret.Cli) → Kret.Sdk: CompilerService · RuntimeHost · DebugController · ProjectConfig
  • kret lsp (Kret.LanguageServer, LSP 3.17) → Kret.Sdk: CompilerService · RuntimeHost · DebugController · ProjectConfig
  • Kret.Sdk: CompilerService · RuntimeHost · DebugController · ProjectConfig → Kret.Compiler: KretL · KretS · KretDB · KretM · (KretUI/KretFlow/KretAi/KretConfig/KretLink/KretLib)
  • Kret.Compiler: KretL · KretS · KretDB · KretM · (KretUI/KretFlow/KretAi/KretConfig/KretLink/KretLib) → Kret.Bytecode: KBC 2
  • Kret.Sdk: CompilerService · RuntimeHost · DebugController · ProjectConfig → Kret.Broker (+ Kret.Broker.Service): Security Broker, KCS
  • Kret.Broker (+ Kret.Broker.Service): Security Broker, KCS → Kret.PluginHost: maszyna Kret.Runtime w izolowanym procesie
  • Kret.Broker (+ Kret.Broker.Service): Security Broker, KCS → Kret.Db (SQLite)
  • Kret.Sdk: CompilerService · RuntimeHost · DebugController · ProjectConfig → Kret.Publish: .kpkg, podpis ECDSA P-256, trust
  • kretui-host (Kret.Ui, Kret.Ui.Avalonia, Kret.Ui.Preview) → Kret.Broker (+ Kret.Broker.Service): Security Broker, KCS
  • KretStudio → kret (Kret.Cli)
  • KretStudio → kret lsp (Kret.LanguageServer, LSP 3.17)
  • KretStudio → kretui-host (Kret.Ui, Kret.Ui.Avalonia, Kret.Ui.Preview)
  • Kret Engine / KretCore → Kret.Sdk: CompilerService · RuntimeHost · DebugController · ProjectConfig
flowchart TB
  CLI["kret (Kret.Cli)"] --> SDK["Kret.Sdk: CompilerService · RuntimeHost · DebugController · ProjectConfig"]
  LSP["kret lsp (Kret.LanguageServer, LSP 3.17)"] --> SDK
  SDK --> COMP["Kret.Compiler: KretL · KretS · KretDB · KretM · (KretUI/KretFlow/KretAi/KretConfig/KretLink/KretLib)"]
  COMP --> BC["Kret.Bytecode: KBC 2"]
  SDK --> BRK["Kret.Broker (+ Kret.Broker.Service): Security Broker, KCS"]
  BRK --> PH["Kret.PluginHost: maszyna Kret.Runtime w izolowanym procesie"]
  BRK --> DB["Kret.Db (SQLite)"]
  SDK --> PUB["Kret.Publish: .kpkg, podpis ECDSA P-256, trust"]
  UIH["kretui-host (Kret.Ui, Kret.Ui.Avalonia, Kret.Ui.Preview)"] --> BRK
  STUDIO["KretStudio"] --> CLI
  STUDIO --> LSP
  STUDIO --> UIH
  CORE["Kret Engine / KretCore"] --> SDK

Jedna biblioteka, jedno narzędzie: KretStudio, LSP i CLI korzystają z tych samych klas. Kod produktu nie używa pakietów NuGet (poza Avalonia w rendererze). / One library, one tool; the product uses no NuGet packages (except Avalonia in the renderer).

Otwórz cały rozdział ze źródłem →
CLI `kret` — referencja / reference

CLI kret — referencja / reference

Polecenie / commandDostępneOpis (z sdk-info)
kret checktakanaliza wszystkich języków projektu; --json zwraca kret-diagnostics/1
kret buildtakpaczka wykonywalna w katalogu Build
kret runtakuruchomienie przez osobny proces brokera; wynik: dokument JSON
kret profiletakraport profilera kret-profile/1
kret debugtakadapter kret-debug/1 (JSON w wierszach): punkty wstrzymania, kroki, stos, zmienne, wyrażenia bez skutków ubocznych; tryb deweloperski — broker w procesie narzędzia; bez KretBridge i KretConfig
kret lsptakserwer języka LSP 3.17 na stdin / stdout
kret flowtakrun, to-krets, from-krets, blocks (katalog bloków kretflow-blocks/1)
kret configtakshow
kret libtakresolve, install, restore, list, pack
kret linktakcompile, schema, call, stream
kret bridgetakgenerate
kret publishtakpack, sign, verify, test, push, list, keygen, trust, formats — tylko lokalnie
kret aitakask — tylko model lokalny; z rzeczywistym modelem NOT_RUN
kret import-legacytakmanifest generacji 1.0 → plugin.kretl
kret newtaknowy projekt z szablonu SDK; --list --json zwraca kret-templates/1
kret testtaktesty KretS z katalogu Tests/ w izolowanym procesie pluginu; --list, --filter, --events, raport JSON i JUnit (kret-test/1, eksperymentalne)

Kody wyjścia / exit codes: 0 sukces, 1 błędy, 2 złe użycie; kret run: 3 paczka odrzucona, 4 wywołanie nieudane; kret test: 3 STOPPED, 6 NO_TESTS (nie sukces).

Szczegóły poleceń: ../Sources/SDK/10_SDK__README.md, 10_SDK__KRET_TEST.md, 09_Publishing__KretPublish__README.md.

Otwórz cały rozdział ze źródłem →
Build, testy, pakowanie, weryfikacja / build, test, package, verify

Build, testy, pakowanie, weryfikacja / build, test, package, verify

  • Build: kret build → Build/plugin.kbc (deterministyczny), manifest.json, schema.kdb.json, package.index.json.
  • Testy: kret test (kret-test/1, EXPERIMENTAL) — moduły Tests/, statusy PASS/FAIL/SKIP/NOT_RUN/ERROR, NO_TESTS ≠ sukces, --events, raport JSON i JUnit. Bez --policy testy nie mają uprawnień.
  • Pakowanie: kret publish pack (kret-package/1, ZIP bez kompresji, powtarzalne bajty); lista dozwolona; nigdy: host-policy.json, warstwy użytkownika/polityki, dane, sekrety (*.pem *.key *.pfx *.kretkey .env), dowiązania; wykrywanie sekretów w treści przerywa pakowanie. --include-sources wymagane przez KPM Core.
  • Weryfikacja: kret publish verify — kontrole PASS/FAIL/WARN/SKIPPED; podpis w kanale dev = SKIPPED (nie PASS); NEG-PACKAGE-TAMPER (zmieniony bajt) = FAIL.
  • Kanały: dev (podpis opcjonalny, LOCAL-…), beta/stable (zaufany klucz, oficjalny id). Klucz produkcyjny nie istnieje (C1).
  • Walidatory: kret check (wszystkie języki), KretCore.Test.exe check (reguły hosta), Run-LanguageConformance.ps1 (KretL 23/23 + sumy), Run-LanguageE2E.ps1 (46/46).
Otwórz cały rozdział ze źródłem →
KretStudio, runtime, KretCore, KPM

KretStudio, runtime, KretCore, KPM

KretStudio (kopia testowa 0.3.0-beta.2 + SFI): wykrycie SDK (KRET_SDK_HOME → dołączone → użytkownika), 9 szablonów, LSP, Build (Ctrl+Shift+B), Run (zgoda, AppContainer), Debug, Run Tests (kret test, 11 scenariuszy PASS), Pack Plugin (dev, ze źródłami), podgląd KretUI. Publish… = planned, Sign Package… = niedostępne z powodem. Testy: 80/0, 125/0/7, 55/0, 61/0/1.

Runtime: Kret.PluginHost (KBC 2 + weryfikator), Security Broker (KCS przy każdym wywołaniu), Job Object / token ograniczony / AppContainer, profile zasobów.

KretCore 1.0.0-test.6.11-draft.1: kompiluje plugin ze źródeł paczki; reguły układu hosta; D-KCS-01 OPEN (PROVISIONAL: logs.own.write, kretdb.*, sensory, KretAI, KretLink zablokowane).

KPM — sprawdzone w tej rundzie (izolowany Core Developer, osobny katalog danych, hasło testowe):

KrokPolecenieWynik
importkpm import <plik.kpkg>8/8 LOCAL_IMPORT
plankpm plan <ID>8/8; blockedByKcs dla kretdb.*/logs.own.write; sensory: UNAVAILABLE_ON_HOST/PROVIDER_UNSUPPORTED
doctorkpm doctor <ID>8/8 STAGED_INTEGRITY_VALID
installkpm install <ID> (potwierdzenie + Guard plugin.manage + hasło)KretHello, KretNotes, Dashboard: COMPLETED/INSTALLED
startplugin start <ID>KretHello: Running, AppContainer, 0 odmów; Dashboard: UI host + AppContainer; KretNotes: permission_denied/forbidden (D-KCS-01)
updateplugin update <ID>@1.0.1 (2 potwierdzenia)KretHello 1.0.0 → 1.0.1, poprzednia wersja zachowana
removeplugin stop <ID> → plugin remove <ID> --yes (Guard plugin.remove)UNINSTALLED, preservedSourceAndData: true

Dowody: archiwum KRET_DOCUMENTATION_EVIDENCE.zip → kpm/.

Otwórz cały rozdział ze źródłem →
Komendy Kret SDK (zweryfikowane z `kret --help`, 2026-11-01)

Komendy Kret SDK (zweryfikowane z kret --help, 2026-11-01)

Kandydat SDK 1.0.0-rc.3+kret.local.3 — lokalny, niepodpisany, nieopublikowany. kret version: kret 1.0.0-rc.3 (KBC2, kretlink-local/1, .NET 10.0.12, win-x64).
TematSkładnia z CLIUwagi
Struktura projektu—plugin.kretl; Script/*.krs; Tests/*.krs; Disk/Schema.kdb; *.kretui/.kstyle/.ktheme; *.kflow; project.kretm/module.kretm; *.klink; *.kconfig; library.klib, project.klibs(.lock) — pola files w rejestrze języków
Tworzenie projektukret new --list | kret new <szablon> <katalog> [--name Nazwa]szablony: basic, kretscript, core-plugin, kretdb, kretai, kretflow, library, multi-language, csharp-bridge
checkkret check|build <projekt> [opcje] analiza i kompilacja (wszystkie języki projektu)--json → kret-diagnostics/1
buildkret check|build <projekt> [opcje] analiza i kompilacja (wszystkie języki projektu)kompilacja do KBC 2
testkret test <projekt> [--list] [--filter tekst] [--id test]… [--category a,b] [--policy <plik>] [--isolation …] [--timeout ms]kret-test/1 (experimental)
runkret run <projekt> --policy <plik> --data <katalog> [--profile nazwa] [--bridge usługa=program]wymaga --policy (polityka hosta) i --data
packkret publish pack|sign|verify|test|push|list|keygen|trust|formats …kret publish pack <projekt> --channel … [--include-sources] -o <katalog> (użycie z przykładów)
verifykret publish pack|sign|verify|test|push|list|keygen|trust|formats …kret publish verify <plik.kpkg> [--report plik] (użycie z przykładów)
Diagnostykakret check|build <projekt> [opcje] analiza i kompilacja (wszystkie języki projektu)kret check --json (kret-diagnostics/1)
LSPkret lsp | kret sdk-info [--json] | kret versionLSP 3.17
Renderer KretUI—kretui-host <projekt> --self-test <katalog> [--input ścieżka=tekst] [--click ścieżka] (UiHost/kretui-host.exe; nie występuje w kret --help)
KretFlowkret flow run|to-krets|from-krets <plik> | kret config show <projekt> [--profile nazwa]to-krets jest oficjalną ścieżką wykonania (T-04); samodzielne flow run = SDK-D01
KretDB—brak osobnej komendy; schemat i zapytania sprawdza kret check/build, dane w katalogu --data (run/test)
Runtimekret run <projekt> --policy <plik> --data <katalog> [--profile nazwa] [--bridge usługa=program]<br>kret profile <projekt> --policy <plik> --data <katalog> [--invoke nazwa[:arg,arg]]<br>kret debug <projekt> --policy <plik> --data <katalog> [--break plik:wiersz] [--invoke nazwa=[json]] [--stop-on-entry]Kret.PluginHost + Kret.Broker.Service (sdk-info.tools)
Obsługiwane formatykret publish pack|sign|verify|test|push|list|keygen|trust|formats …kret publish formats; sdk-info.contracts
Kompatybilność wersjikret lsp | kret sdk-info [--json] | kret versionkret version, kret sdk-info --json

Nie dodawaj parametrów, których nie ma w kret-help.txt albo w przykładach.

Otwórz cały rozdział ze źródłem →

Ćwiczenie i sprawdzenie wiedzy

Wyznacz nowy katalog na eksperyment.

Szkic nie jest wysyłany na serwer i znika po opuszczeniu lekcji. Przed wyjściem możesz go skopiować.
Podpowiedzi
  • Najpierw wskaż plik, potem deklarację i jej użycie; porównaj z referencją źródłową poniżej.
Omówienie rozwiązania

Odpowiedź oprzyj na pokazanym kodzie i rozdziale źródłowym. 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.

Które podsumowanie jest zgodne z lekcją?

To quiz o opisanym kontrakcie. Nie kompiluje kodu, nie potwierdza wykonania programu i nie przyznaje nagród.

Podsumowanie i następny krok

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.

Zaloguj się na konto użytkownika, aby zapisywać postęp i zakładki. Konta obsługi mogą czytać bez zapisu postępu. Logowanie →

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

Polityka prywatności