mcpField
W
wendy-swift

wendy-swift

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

wendy-swift について

WendyOSのLinuxエッジ開発向けSwiftパッケージガイドです。分野別の候補をまとめ、Linux互換性の確認項目とパッケージの探し方を紹介します。

主な機能

  1. 01分野別のSwiftパッケージ一覧
  2. 02ネットワーク、データベース、AIの選択肢
  3. 03ハードウェアとオブザーバビリティのパッケージ
  4. 04Linux互換性チェックリスト
  5. 05Swift Package Indexでの検索案内

活用シーン

  1. 01WendyOSプロジェクト向けにLinux対応パッケージを選定
  2. 02依存関係のDarwinやXcode要件を確認
  3. 03ネットワークやデータベース用のSwiftパッケージを検索
  4. 04パッケージのSwiftバージョンとプラットフォーム対応を評価

インストール

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

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

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

詳細

WendyOS 向け Swift パッケージエコシステム

このスキルでは、WendyOS(Linux)でのエッジ開発に向けた Swift パッケージエコシステムを紹介します。ドメイン別に厳選したおすすめパッケージと、Swift Package Index を利用して追加のパッケージを見つける方法を説明します。

厳選パッケージ一覧

Web / HTTP サーバー
パッケージ用途URLLinux
Hummingbird 2軽量 HTTP サーバー、ルーティング、ミドルウェアhttps://github.com/hummingbird-project/hummingbird完全対応
VaporORM、認証、セッション機能を備えた多機能 Web フレームワークhttps://github.com/vapor/vapor完全対応
ネットワーキング / SwiftNIO
パッケージ用途URLLinux
SwiftNIOイベント駆動型ネットワーキングフレームワーク、TCP / UDPhttps://github.com/apple/swift-nio完全対応
AsyncHTTPClientHTTP/1.1 および HTTP/2 クライアントhttps://github.com/swift-server/async-http-client完全対応
gRPC Swift 2SwiftNIO と Swift Concurrency を基盤とする gRPC クライアントおよびサーバーhttps://github.com/grpc/grpc-swift-2完全対応
Swift OpenAPI GeneratorOpenAPI 仕様からクライアント/サーバーのコードを生成https://github.com/apple/swift-openapi-generator完全対応
データベース
パッケージ用途URLLinux
PostgresNIOSwiftNIO を基盤とするノンブロッキング PostgreSQL クライアントhttps://github.com/vapor/postgres-nio完全対応
GRDB.swiftクエリビルダー、マイグレーション、WAL を備えた SQLite ツールキットhttps://github.com/groue/GRDB.swift完全対応
Valkey Swiftクラスター対応の Valkey/Redis クライアント、パブリッシュ/サブスクライブhttps://github.com/valkey-io/valkey-swift完全対応
ML / AI 推論
パッケージ用途URLLinux
llama.cppSwift バインディングによる LLM 推論https://github.com/ggerganov/llama.cpp完全対応(Swift バインディングを備えた C ライブラリ)
whisper.cpp音声テキスト変換の推論https://github.com/ggerganov/whisper.cpp完全対応(Swift バインディングを備えた C ライブラリ)
MLX SwiftApple Silicon 向け ML フレームワークhttps://github.com/ml-explore/mlx-swiftmacOS / Apple Silicon のみ — Linux では利用できません

llama.cpp と whisper.cpp では、Swift の C 相互運用機能を介して C API を直接使用するか、コミュニティ製の Swift ラッパーパッケージを使用してください。これらのライブラリは ARM64 / AMD64 Linux 上でネイティブにコンパイルできます。

ハードウェア / IoT
パッケージ用途URLLinux
SwiftyGPIOLinux SBC 上の GPIO、SPI、I2C、PWM、UARThttps://github.com/uraimo/SwiftyGPIO完全対応(Linux のみ)

カメラ/ビデオへのアクセス方法: Linux でカメラ映像を取得するには、Swift の C 相互運用機能を介して Video4Linux2(V4L2)を使用します。NVIDIA Jetson では、ハードウェアアクセラレーションによるビデオ処理に Process または C バインディングを介した GStreamer パイプラインを使用します。

シリアル通信: Linux でシリアルポートにアクセスするには、Swift の C 相互運用機能を介して termios を使用します。SwiftyGPIO は一般的な SBC 向けの UART サポートも提供しています。

オブザーバビリティ
パッケージ用途URLLinux
swift-log構造化ロギング APIhttps://github.com/apple/swift-log完全対応
swift-metricsメトリクス API(カウンター、ゲージ、タイマー)https://github.com/apple/swift-metrics完全対応
swift-otelswift-log、swift-metrics、分散トレーシング向け OpenTelemetry バックエンドhttps://github.com/swift-otel/swift-otel完全対応
swift-distributed-tracing分散トレーシング APIhttps://github.com/apple/swift-distributed-tracing完全対応
シリアライズ/Codable
パッケージ用途URLLinux
swift-protobufCodable をサポートする Protocol Buffershttps://github.com/apple/swift-protobuf完全にサポート
msgpack-swiftCodable に準拠した MessagePack エンコーダー/デコーダーhttps://github.com/fumoboy007/msgpack-swift完全にサポート
YamsYAML パーサーおよびエミッターhttps://github.com/jpsim/Yams完全にサポート
並行処理/ユーティリティ
パッケージ用途URLLinux
swift-collectionsDeque、OrderedSet、OrderedDictionary などhttps://github.com/apple/swift-collections完全にサポート
swift-algorithmsシーケンス/コレクションのアルゴリズム(chunked、combinations など)https://github.com/apple/swift-algorithms完全にサポート
swift-async-algorithms非同期シーケンスのアルゴリズム(merge、combineLatest、debounce など)https://github.com/apple/swift-async-algorithms完全にサポート
swift-argument-parser型安全なコマンドライン引数の解析https://github.com/apple/swift-argument-parser完全にサポート

Linux 互換性チェックリスト

WendyOS プロジェクトに Swift パッケージを追加する前に、次の点を確認してください。

  1. Darwin 専用のインポートがないこと — import Darwin、import AppKit、import UIKit、import CoreFoundation がないか確認します(Linux で使える Foundation API もありますが、すべてではありません)。
  2. Foundation との互換性 — Linux で未実装の API は避けます。FileManager は使えますが、NSAppleScript、NSUserDefaults、Process(一部のみ利用可能)などは使えない場合があります。
  3. Xcode のビルドシステムへの依存がないこと — パッケージは swift build(SPM)でビルドできる必要があります。Xcode 固有の設定が必要なものは避けます。
  4. ARM64/AMD64 の CI/テスト — パッケージに Linux CI(ubuntu ランナーを使う GitHub Actions または Swift Docker イメージ)があるか確認します。
  5. C 依存関係 — パッケージが C ライブラリをラップしている場合、そのライブラリが ARM64/AMD64 の Linux で利用可能か確認します(例:apt 経由)。
  6. Swift のバージョン — WendyOS は比較的新しい Swift ツールチェーンを使用しています。パッケージが Swift 5.9 以降をサポートしていることを確認します。

Swift Package Index でパッケージを探す

Swift Package Index は、コミュニティによるパッケージ検索エンジンです。

検索方法
  1. https://swiftpackageindex.com にアクセスし、検索語を入力します。
  2. Platform フィルターで Linux を選択し、Linux 互換のパッケージを探します。
  3. 各パッケージのページにある Compatibility Matrix を確認します。テスト済みの Swift バージョンとプラットフォームが表示されます。
パッケージの品質を評価する
  • 最終更新日 — 直近 6 か月以内に更新されたパッケージを優先します。
  • Swift バージョンとの互換性 — Swift 5.9 以降をサポートしている必要があります。
  • プラットフォームのバッジ — パッケージのページで Linux バッジを探します。
  • ライセンス — 商用利用には Apache 2.0 または MIT を優先します。
  • SSWG のステータス — Swift Server Work Group がインキュベートしたパッケージは、本番環境での使用に向けて審査されています。
検索 URL の形式

直接検索:https://swiftpackageindex.com/search?query=YOUR_TERM

ベストプラクティス

  1. まず厳選リストを使用する — 上記のパッケージは、Linux と WendyOS との互換性が確認されています
  2. SSWG パッケージを優先する — Swift Server Work Group のパッケージ(SwiftNIO、swift-log、async-http-client、Hummingbird、PostgresNIO)は、Linux の強力なサポート保証を備えています
  3. アーキテクチャ固有のコードに注意する — Swift パッケージはソースからコンパイルされるため、パッケージに x86 固有のアセンブリ、SIMD 組み込み関数、またはアーキテクチャで条件分岐する #if ブロックが含まれていない限り、ARM64/AMD64 で自動的に動作します
  4. Darwin 専用の依存関係を避ける — 間接的な依存関係であっても Linux のビルドが失敗する原因になります。swift package show-dependencies を使用して依存関係ツリーを監査してください
  5. 安定版に固定する — Package.swift では、ブランチベースの依存関係ではなく .upToNextMajor(from:) または .upToNextMinor(from:) を使用してください
  6. Swift Package Index を活用する — 厳選リストで必要なパッケージが見つからない場合は、Linux プラットフォームフィルターを適用して swiftpackageindex.com を検索してください
  7. 早い段階で Linux でテストする — Foundation API の不足や Darwin 専用の依存関係が問題を引き起こす前に発見できるよう、早い段階で WendyOS デバイスまたは Linux VM でビルドして実行してください

コメント