/implement - アプリ実装スキル
PLAN.mdに基づいてAsaAppsの新規アプリを実装するスキルです。
使い方
code
/implement AsaNewAppName
実行手順
Step 1: 計画の読み込み
- •
Apps/[AppName]/PLAN.mdを読み込む - •ファイル一覧と各フェーズの内容を把握
- •
project.ymlが存在しない場合は作成
Step 2: Phase別実装(各Phase後にビルドチェック)
Phase 1: Models
- •データモデルを全て作成
- •
import SwiftData、import Foundationを必ず含める - •
Equatable/Hashable/Codable準拠を忘れずに - •ビルドチェック:
xcodegen generate && xcodebuild buildでエラー確認・修正
Phase 2: Services
- •データサービス、APIサービス等を作成
- •actor isolationに注意(
@MainActorの適用箇所を確認) - •
deinit内で@MainActorが必要な処理を避ける - •ビルドチェック: エラー確認・修正
Phase 3: ViewModels
- •
@Observableパターンで実装 - •
@MainActorを適切に適用 - •
@Bindableの使用パターンに注意 - •ビルドチェック: エラー確認・修正
Phase 4: Views
- •ContentView、各画面、コンポーネントを作成
- •AsaUIKit(AsaButton, AsaCard, AsaColors)を活用
- •ブランドカラー(AsaCoffeeBrown等)を使用
- •システム型との命名衝突を避ける
- •ビルドチェック: エラー確認・修正
Phase 5: Tests
- •Swift Testingフレームワーク(
@Test構文)で記述 - •
#expectマクロを使用(XCTAssertではなく) - •浮動小数点比較には精度パラメータを使用
- •日付関連のエッジケースをカバー
- •テスト実行:
swift testで全テストパス確認
Phase 6: Documentation
- •
Docs/Notes/DayXX-Implementation.mdを作成 - •アプリの概要、技術的決定、学んだことを記録
Step 3: 最終検証
- •
xcodegen generateでプロジェクト再生成 - •
xcodebuild buildでクリーンビルド確認 - •
swift testで全テストパス確認 - •ビルドエラーがあれば自律的に修正(ユーザーに聞かない)
Step 4: コミット
詳細な日本語コミットメッセージでコミット:
code
feat: [AppName](アプリの説明)実装完了 - 主要機能の箇条書き - 使用技術 - テスト結果
ビルドエラー対処の優先順位
- •
import漏れ → 該当ファイルにimport追加 - •iOS バージョン非互換 → project.yml のデプロイメントターゲットを使用APIに合わせて引き上げ
- •actor isolation →
@MainActor適用またはnonisolated指定 - •
Equatable/Hashable未準拠 → プロトコル準拠追加 - •命名衝突 → リネームして衝突回避
- •
@Bindable問題 → バインディングパターン見直し
※ 具体例はCLAUDE.mdの「Swift ビルドエラー防止ルール」を参照
重要な制約
- •最新APIを積極的に使用し、使用するAPIに合わせてデプロイメントターゲットを設定する
- •標準シミュレータ: iPhone 17 Pro(
-sdk iphonesimulator必須) - •各Phase完了後に必ずビルドチェック(全ファイル作成後ではなく)
- •テストが全てパスするまでコミットしない
- •エラーは自律的に解決する(繰り返しビルド→修正ループ)
- •必ず日本語でドキュメント作成