mcpField
W
wendy-contributing

wendy-contributing

github.com/wendylabsinc開発6271 回インストール5 週間前に更新
リポジトリ

wendy-contributing について

wendy-contributingは、WendyOSの開発に参加する人向けのスキルです。Yoctoによるイメージ構築、エージェント構成、エンドツーエンドテストを扱います。

主な機能

  1. 01YoctoでWendyOSイメージを構築
  2. 02wendy-agentの構成を把握
  3. 03エンドツーエンドテストの実行と調査
  4. 04システムとデバイスの資料を参照

活用シーン

  1. 01Jetson、Raspberry Pi、ARM64 VM向けのイメージ構築
  2. 02開発VMでのエンドツーエンドテスト
  3. 03コンテナランタイムやデバイス検出の調査

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/wendylabsinc/claude-skills --skill wendy-contributing

インストール後、Claude Code で/wendy-contributingを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
raspberry-pi.md
system-internals.md
yocto-meta-layers.md

詳細

WendyOS への貢献

このスキルでは、OS イメージのビルド、エージェントアーキテクチャの理解、E2E テストの実行など、WendyOS 自体の内部開発と貢献について説明します。

概要

WendyOS は、Yocto で構築されたエッジコンピューティング向けの組み込み Linux オペレーティングシステムです。以下をサポートしています。

  • NVIDIA Jetson デバイス(OTA アップデートを利用した本番環境)
  • Raspberry Pi 4/5(エッジデバイス)
  • ARM64 VM(開発環境)

エージェントアーキテクチャ

wendy-agent はコンテナデーモン(dockerd/containerd に類似)です。

  • gRPC を介してポート 50051 でコンテナのライフサイクルを管理します
  • イメージは Docker Hub からプルするのではなく、wendy run でプッシュします
  • docker pull に相当する機能はありません。アプリはソースからデプロイされます

WendyOS のビルド(Yocto)

WendyOS イメージは Yocto でビルドされます。メタレイヤーは 3 つあります。

レイヤー対象イメージ
meta-wendyos-jetsonNVIDIA Jetsonedgeos-image
meta-wendyos-virtualARM64 VMedgeos-vm-image
meta-wendyos-rpiRaspberry Pi 4/5edgeos-rpi-image

クイックビルド(すべてのレイヤー):

cd meta-wendyos-<target>
./bootstrap.sh
source ./repos/poky/oe-init-build-env build
bitbake <image-name>

macOS の場合は、Docker ビルド環境を使用します。

cd docker && ./docker-util.sh shell

Yocto の設定について詳しくは、references/yocto-meta-layers.md を参照してください。

E2E テスト

wendy-agent リポジトリには、E2ETests/ に E2E テストスイートがあります。

E2E テストの実行
# Start the VM
cd meta-wendyos-virtual
./scripts/setup-dev-vm.sh create && ./scripts/setup-dev-vm.sh start

# Deploy a test app first (required for container tests)
cd wendy-agent/Examples/HelloWorld
wendy run --json --device localhost:50051  # --json for non-interactive output

# Run E2E tests with fast path (CRITICAL for performance)
cd wendy-agent/E2ETests
E2E_USE_EXISTING_VM=true E2E_VM_PATH=/path/to/meta-wendyos-virtual swift test

重要:VM がすでに実行中の場合は、必ず E2E_USE_EXISTING_VM=true を設定してください。これによりシェルスクリプトのチェックが省略され、テスト時間が約 5 秒/テストから約 0.01 秒/テストに短縮されます。

ヒント:すべての wendy コマンドで --json フラグを使用すると、インタラクティブなポーリングなしで JSON レスポンスをすばやく取得できます。

テストのパフォーマンスに関するヒント
  • VM の競合状態を避けるため、テストスイートに .serialized トレイトを使用します
  • 冗長な VM ステータスチェックを省略するため、E2E_USE_EXISTING_VM=true を設定します
  • mDNS 検出テストはそれぞれ約 5 秒かかります(プロトコル上避けられません)
  • コンテナ状態変更テストは遅くなることがあります。すばやく実行する場合は無効にしてください
  • WiFi のような想定内の失敗(VM 内)には Issue.record() を使用しないでください。失敗としてカウントされます
CI の制限事項

GitHub がホストするランナーは、入れ子になった仮想化をサポートしていません。セルフホストランナーを使用するか、E2E テストをローカルで実行してください。

テストスイート
スイートテスト数時間備考
デバイス接続7約 0.07 秒gRPC 接続
コンテナのデプロイ6約 0.06 秒コンテナのライフサイクル
WiFi 操作4約 0.04 秒VM 内での正常な失敗
ハードウェア機能4約 0.07 秒デバイスの列挙
デバイス検出4約 21 秒mDNS(仕様上、低速)

システム内部

デバッグ、コンテナランタイムの詳細(containerd/nerdctl)、mDNS 検出、デバイス ID、よくある注意点については、references/system-internals.md を参照してください。

Raspberry Pi 固有の設定(シリアルコンソール、フラッシュ、パーティション構成)については、references/raspberry-pi.md を参照してください。

リファレンスファイル

トピックに応じて、必要なファイルを読み込んでください。

  • references/yocto-meta-layers.md - Yocto レイヤーの構造、ビルド設定、パーティション構成、Docker ビルド環境、よくある問題
  • references/system-internals.md - containerd ランタイム、containerd-registry、デバイス ID、mDNS の設定、Lima VM 開発、オフラインでのイメージバンドル
  • references/raspberry-pi.md - RPi マシン設定、シリアルコンソール、イメージのフラッシュ、パーティション構成

コメント