mcpField
S
swift-core

swift-core

github.com/fusengine開発3441 回インストール2 週間前に更新
リポジトリ

swift-core について

Appleプラットフォーム向けSwift 6開発の基礎を扱うスキルです。並行処理、アーキテクチャ、テスト、ローカライズ、性能分析を参考資料とともにまとめています。

主な機能

  1. 01Swift 6の並行処理と安全な型
  2. 02MVVMとClean Architecture
  3. 03async/await対応のXCTest
  4. 04String Catalogによるローカライズ
  5. 05Instrumentsでの性能分析

活用シーン

  1. 01async/awaitとactorの実装
  2. 02Swiftアプリの設計
  3. 03非同期XCTestの作成
  4. 04UIのローカライズと性能分析

インストール

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

$npx skills add https://github.com/fusengine/agents --skill swift-core

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

同梱ファイル

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

references/
architecture.md
concurrency.md
i18n.md
performance.md
testing.md

詳細

iOS、macOS、iPadOS、watchOS、visionOS で共通する Swift 6 の言語およびプラットフォームの基礎を扱います。厳格な並行性チェックを伴う async/await とアクター、Sendable 型付け、アプリのアーキテクチャ(推奨されるデフォルトとしての @Observable を用いた MVVM、複雑なアプリにはクリーンアーキテクチャ)、XCTest による非同期テスト、String Catalog ベースのローカライズ、Instruments によるパフォーマンスプロファイリングなどです。

リファレンスでは各領域を詳細に扱います。並行性、アーキテクチャ/DI、テスト、i18n、パフォーマンスです。

ベストプラクティス: 共有状態にはロック付きクラスよりもアクターを優先する、ObservableObject よりも @Observable を使う、コールバックハンドラーよりも構造化並行性を使う、すべてのユーザー向けテキストに String Catalog を使う、Release (-O) ビルドでプロファイリングする、可能な場合はクラスよりも値型(構造体)を使う。

Swift Core

すべての Apple プラットフォームで共通する Swift 6 の基礎です。

エージェントワークフロー(必須)

いかなる実装の前にも、3 つのエージェントを並行して起動します。それぞれ name を指定した Agent 呼び出し 1 回ずつです。

  1. fuse-ai-pilot:explore-codebase - 既存の Swift パターンを分析する
  2. fuse-ai-pilot:research-expert - Context7/Exa 経由で最新の Swift 6 ドキュメントを検証する
  3. mcp__apple-docs__search_apple_docs - Swift の並行性パターンを確認する

実装後は、検証のために fuse-ai-pilot:sniper を実行します。


概要

使用する場面
  • async/await、アクター、Sendable を実装するとき
  • アプリのアーキテクチャ(MVVM、クリーンアーキテクチャ)を設計するとき
  • XCTest で非同期テストを書くとき
  • String Catalog でローカライズするとき
  • Instruments でプロファイリングするとき
Swift Core を使う理由
機能利点
アクターロックなしでスレッドセーフな共有状態を実現する
@Observableシンプルなリアクティブ状態(ObservableObject を置き換える)
String CatalogXcode 15 以降で自動ローカライズ
Instruments組み込みのパフォーマンスプロファイリング

主要な概念

並行性(Swift 6)

厳格な並行性チェックを伴う最新の async/await です。アクターはスレッドセーフな状態を提供し、Sendable は安全な型をマークします。

アーキテクチャ

@Observable を用いた MVVM が推奨されるパターンです。複雑なアプリでは、ドメインを分離したクリーンアーキテクチャを使用します。

テスト

ネイティブな async/await サポートを備えた XCTest です。非同期テストではエクスペクテーションは不要です。

国際化

String Catalog は必須です。すべてのユーザー向けテキストをローカライズする必要があります。

パフォーマンス

Instruments でプロファイリングします。遅延読み込みを使用し、ビューの body で重い処理を避けます。


リファレンスガイド

必要なものリファレンス
async/await、アクター、Sendableconcurrency.md
MVVM、クリーンアーキテクチャ、DIarchitecture.md
XCTest、非同期テスト、モックtesting.md
String Catalog、ローカライズi18n.md
Instruments、最適化performance.md

ベストプラクティス

  1. 共有状態にはアクター - ロック付きクラスよりもアクターを優先する
  2. ObservableObject よりも @Observable - よりシンプルで、パフォーマンスも良い
  3. 構造化並行性 - async/await を使い、コールバックハンドラーは使わない
  4. String Catalog - すべてのユーザー向けテキストをローカライズする必要がある
  5. Release でプロファイリング - 常に -O 最適化でプロファイリングする
  6. 値型 - クラスよりも構造体を優先する

コメント