コマンド一覧
ビルド、サンプル、テスト、コード生成、品質チェックのコマンドをまとめて確認できます。
読了目安 5 分
アプリプロジェクト
以下の step はテンプレートの templates/minimal-app/build.zig にあります。app step は macOS ターゲットでのみ登録されます。
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)zenit リポジトリのサンプル
各サンプルには 2 つの step があります。zig build <name> は ad-hoc 署名付きの .app を生成し、zig build run-<name> は実行ファイルを直接起動します。
Step.app 名内容
hello-buttonHello Button最小のウィンドウとボタンcounter-reactiveReactive CounterSignal / Memo / Effect のデモvirtual-list-perf100k Virtual List10 万行の VirtualList 負荷テストtext-inputText Input DemoInput / Textarea と text_core の統合multi-windowMulti Window2 つのネイティブウィンドウ、ウィンドウ単位のルーティングstorybookzenit Storybook全コンポーネントのショーケース兼 e2e ターゲットdevtools-probeDevTools ProbeDevTools パフォーマンスパネルの実ウィンドウ検証interop-probezenit Interop Probeリッチクリップボード / ドラッグアウトのシステムレベル検証console-probeConsole ProbeConsole + DevTools の実ウィンドウ検証design-probeDesign Probeデザインカンプとの比較用ターゲットzig build run-hello-button
zig build run-counter-reactive
zig build run-storybookテスト
スイート
コマンド内容
testtest-headless のエイリアスtest-headless決定的テスト。実 Metal デバイスは不要test-all決定的テスト + 実デバイスが必要な Metal テストtest-null-backendNull GPU バックエンドで決定的テストをビルド・実行し、RHI 抽象を検証UI とリアクティビティ
コマンド内容
test-uiUI システムテスト。-Dtest-filter=<substring> で名前が一致するものだけ実行test-ui-coreui_core 統合テスト(src/ui/core/tests.zig)test-reactiveリアクティブシステムのテストtest-allocation-campaignトランザクション的なフレームワーク境界でアロケーション失敗を 1 点ずつ注入レンダリングと GPU
コマンド内容
test-renderrender モジュールのテストtest-gpuGPU 抽象レイヤーのテストtest-metal実 Metal デバイスが必要なテストtest-svgSVG パーサー / ラスタライザーのテストtest-timing-ringフレームタイミングリングのテストテキストと国際化
コマンド内容
test-texttext モジュールのテスト(フォントカタログ / ウェイト)test-text-coretext_core モジュールのテストtest-text-propertiesシード指定可能な決定的テキスト座標プロパティテストtest-i18ni18n モジュールのテストtest-bidi-conformanceUnicode 17.0.0 UAX #9 準拠データ全件プラットフォーム、ウィンドウ、パッケージング
コマンド内容
test-window-lifecycle決定的なマルチウィンドウのライフサイクルとルーティングのテストtest-text-hook-ownersプロセス全体のテキスト計測フックの所有スタック(1 つのウィンドウを閉じても他のフックは残る)test-selector-scaleHiDPI での FontSelector スケール伝播test-system-sdkSystem SDK のテストtest-system-sdk-backends決定的なネイティブバックエンドのテストcheck-system-sdk-crossLinux / Windows 向けに System SDK テストをコンパイル(実行はしない)test-harnesstest_harness(file-RPC)のテストtest-package-consumer直接パッケージと Zig でフィルタしたパッケージの両方で下流アプリをビルド・起動コード生成とツール
コマンド内容
benchパフォーマンスのベースライン:zig build bench [-- filter] [-- json=path]gen-icons-Dicon-set で選んだアイコンモジュールを再生成(既定は lucide)gen-icons-lucide公開 Lucide アイコンモジュールを再生成gen-icons-commonprovider に依存しない common アイコンモジュールを再生成gen-icons-untitled / gen-icons-all内部アイコンセット。内部 checkout でのみ利用可gen-component-indexsrc/ui を AST スキャンし、component_index_generated.zig を再生成capability-matrix生成された macOS 機能マトリクスを出力text-corpus-dumpコミット済みの T0 テキスト座標コーパスを出力ビルドオプション
オプション既定値効果
-Dtest-mode=truefalsee2e harness を有効化(file-RPC サーバー)-De2e-port=<n>19816E2E ポート。既定の RPC ディレクトリ名に使われます-Dtest-filter=<s>—名前にその部分文字列を含む test-ui テストだけを実行-Dicon-set=<name>lucide組み込みアイコン provider:lucide または untitled(内部のみ)-Dgpu-backend=<name>metalGPU バックエンド:metal または nullNOTE
品質スクリプト
スクリプトチェック内容
./scripts/check_oss_boundary.shsrc/ui の import を静的にチェックし、hello-button をビルドして禁止モジュールに到達できないことを確認./scripts/check_style_literals.shサンプル中の生の色 / 文字サイズリテラルは減らすのみで増やさない(ui.arb の逃げ道は許可)bash scripts/switch_icon_set.sh lucide指定したアイコンセットで test-headless と storybook のビルドを実行し、ワークツリーは変更しないTIP
Bundle の検証
サンプルの bundle は ad-hoc 署名され、quarantine 属性が除去されています。以下のコマンドで署名を検証し、残っている拡張属性を一覧表示します。
zig build hello-button
codesign --verify --deep --strict "zig-out/Hello Button.app"
xattr -lr "zig-out/Hello Button.app"