Befehle
Build-, Beispiel-, Test-, Codegen- und Qualitätsbefehle an einem Ort.
5 Min. Lesezeit
Ihre App
Diese Steps stammen aus templates/minimal-app/build.zig der Vorlage. Der Step app wird nur für macOS-Ziele registriert.
zig build # build the executable
zig build run # build and run
zig build app # package a macOS .app bundle (zig-out/)
zig build -Dtest-mode=true # enable the automation harness (forwarded to zenit)Beispiele im zenit-Repo
Jedes Beispiel hat zwei Steps: zig build <name> erzeugt ein ad-hoc-signiertes .app, und zig build run-<name> startet das Executable direkt.
Step.app-NameInhalt
hello-buttonHello ButtonMinimales Fenster mit Buttoncounter-reactiveReactive CounterSignal / Memo / Effect-Demovirtual-list-perf100k Virtual ListVirtualList-Stresstest mit 100k Zeilentext-inputText Input DemoInput / Textarea mit text_coremulti-windowMulti WindowZwei native Fenster, Routing pro Fensterstorybookzenit StorybookShowcase aller Komponenten und e2e-Zieldevtools-probeDevTools ProbeAbnahme des DevTools-Performance-Panels im echten Fensterinterop-probezenit Interop ProbeSystemweite Prüfung von Rich-Clipboard / Drag-outconsole-probeConsole ProbeConsole + DevTools-Prüfung im echten Fensterdesign-probeDesign ProbeZiel für den Abgleich mit Design-Mockupszig build run-hello-button
zig build run-counter-reactive
zig build run-storybookTests
Suites
BefehlFunktion
testAlias für test-headlesstest-headlessDeterministische Tests; kein echtes Metal-Gerät nötigtest-allDeterministische Tests plus Metal-Tests auf echtem Gerättest-null-backendDeterministische Tests auf dem Null-GPU-Backend bauen und ausführen, um die RHI-Abstraktion zu belegenUI und Reaktivität
BefehlFunktion
test-uiUI-Systemtests; -Dtest-filter=<substring> führt nur passende Namen austest-ui-coreui_core-Integrationstests (src/ui/core/tests.zig)test-reactiveTests des reaktiven Systemstest-allocation-campaignAllocator-Fehlerpunkte an transaktionalen Framework-Grenzen durchspielenRendering und GPU
BefehlFunktion
test-renderTests des render-Modulstest-gpuTests der GPU-Abstraktiontest-metalTests, die ein echtes Metal-Gerät brauchentest-svgTests für SVG-Parser / -Rasterizertest-timing-ringTests des Frame-Timing-RingsText und i18n
BefehlFunktion
test-textTests des text-Moduls (Font-Katalog / Schriftstärken)test-text-coreTests des text_core-Modulstest-text-propertiesDeterministische, seedbare Property-Tests für Textkoordinatentest-i18nTests des i18n-Modulstest-bidi-conformanceVollständige Unicode 17.0.0 UAX #9-KonformitätsdatenPlattform, Fenster und Packaging
BefehlFunktion
test-window-lifecycleDeterministische Tests für Multi-Window-Lebenszyklus und Routingtest-text-hook-ownersProzessweiter Ownership-Stack für Textmessungs-Hooks (Schließen eines Fensters erhält die Hooks der anderen)test-selector-scaleHiDPI-Skalierungsweitergabe für FontSelectortest-system-sdkSystem-SDK-Teststest-system-sdk-backendsDeterministische Tests der nativen Backendscheck-system-sdk-crossSystem-SDK-Tests für Linux / Windows kompilieren (ohne Ausführung)test-harnessTests für test_harness (file-RPC)test-package-consumerEine Downstream-App gegen direkte und Zig-gefilterte Pakete bauen und startenCodegen und Tools
BefehlFunktion
benchPerformance-Baselines: zig build bench [-- filter] [-- json=path]gen-iconsDas per -Dicon-set gewählte Modul neu generieren (standardmäßig lucide)gen-icons-lucideDas öffentliche Lucide-Icon-Modul neu generierengen-icons-commonDas provider-neutrale common-Icon-Modul neu generierengen-icons-untitled / gen-icons-allInternes Icon-Set; nur in internen Checkoutsgen-component-indexsrc/ui per AST scannen und component_index_generated.zig neu generierencapability-matrixDie generierte macOS-Fähigkeitsmatrix ausgebentext-corpus-dumpDas eingecheckte T0-Textkoordinaten-Korpus ausgebenBuild-Optionen
OptionStandardWirkung
-Dtest-mode=truefalseAktiviert den e2e-Harness (file-RPC-Server)-De2e-port=<n>19816E2E-Port, verwendet im Standardnamen des RPC-Verzeichnisses-Dtest-filter=<s>—Nur test-ui-Tests ausführen, deren Name den Teilstring enthält-Dicon-set=<name>lucideEingebauter Icon-Provider: lucide oder untitled (nur intern)-Dgpu-backend=<name>metalGPU-Backend: metal oder nullNOTE
Qualitätsskripte
SkriptWas es prüft
./scripts/check_oss_boundary.shPrüft die Imports in src/ui statisch und baut dann hello-button, um sicherzustellen, dass kein verbotenes Modul erreichbar ist./scripts/check_style_literals.shSenkt nackte Farb- / Schriftgrößen-Literale in Beispielen nur ab, nie auf (ui.arb-Ausnahmen sind erlaubt)bash scripts/switch_icon_set.sh lucideFührt test-headless und den storybook-Build mit einem Icon-Set aus, ohne den Worktree zu ändernTIP
Bundle-Prüfung
Beispiel-Bundles sind ad-hoc signiert, das quarantine-Attribut ist entfernt. Diese Befehle prüfen die Signatur und listen verbliebene erweiterte Attribute auf.
zig build hello-button
codesign --verify --deep --strict "zig-out/Hello Button.app"
xattr -lr "zig-out/Hello Button.app"