AI-DLC(AI-Driven Development Lifecycle)を実践しながらポケモン図鑑アプリを構築するプロジェクト
Augmented Eagle は、AWS が提唱する AI-DLC(AI-Driven Development Lifecycle) を実践するプロジェクトです。ポケモン図鑑アプリを題材に、AI を開発プロセスの中核に据えた新しい開発ワークフローを探求しています。
GitHub Issues #1〜#5 に定義された各ステップに沿って、AI と協働しながら機能を段階的に構築しています。
- Inception(計画) — GitHub Issues で要件を定義し、AI との対話でユーザーストーリー・仕様に落とし込む
- Construction(構築) — AI がコード実装・テスト作成・リファクタリングを実行し、人間がレビュー・承認する
- Deployment(展開) — CI/CD でビルド・テスト・デプロイを自動化し、フィードバックを次のサイクルに活かす
| カテゴリ | 技術 |
|---|---|
| フレームワーク | Expo 55 / React Native 0.83 / React 19.2 |
| 言語 | TypeScript (strict mode) |
| ルーティング | Expo Router (file-based routing) |
| 国際化 | i18next / react-i18next / expo-localization |
| 状態管理 | zustand |
| テスト | Jest / @testing-library/react-native |
| パッケージ管理 | pnpm |
| 外部 API | PokeAPI(REST + GraphQL) |
| CI/CD | GitHub Actions / Xcode Cloud |
- ポケモン一覧 — PokeAPI からポケモンリストを取得・表示(無限スクロール)
- フローティング検索 — ポケモン名でリストを絞り込み
- ポケモン詳細 — ステータス、特性、フレーバーテキストなどを表示
- お気に入り — AsyncStorage によるお気に入り管理
- 多言語対応 — 日本語 / 英語の切り替え(ポケモン名も多言語対応、GraphQL 使用)
- アニメーションスプラッシュ — フェードアウト付きスプラッシュ画面
- 設定画面 — 言語切り替え
モジュラーモノリス 構成を採用し、機能単位でモジュールを分離しています。
app/ # Expo Router(ルーティング定義のみ)
├── (tabs)/ # タブナビゲーション(一覧 / お気に入り / 設定)
└── detail/[id].tsx # ポケモン詳細(動的ルート)
src/
├── home/ # ポケモン一覧・検索
├── detail/ # ポケモン詳細表示
├── favorites/ # お気に入り一覧
├── settings/ # 設定(言語切り替え)
├── splash/ # スプラッシュアニメーション
└── shared/ # モジュール横断の共有コード
├── components/ # PokemonCard, FavoriteButton
├── stores/ # useFavoritesStore (zustand)
├── domain/ # 型定義, タイプカラー
├── i18n/ # 国際化設定, 翻訳ファイル
└── repository/ # PokeAPI クライアント
__tests__/ # テスト(src の構造をミラー)
各モジュールは index.ts(バレルファイル)で公開 API を定義し、モジュール内部への直接アクセスは ESLint で禁止しています。設計判断の詳細は ADR を、開発ルールは CLAUDE.md を参照してください。
# 依存パッケージのインストール
pnpm install
# 開発サーバーの起動
pnpm expo start- Red — テストを先に書く
- Green — テストが通る最小限の実装
- Refactor — コードを整理
| コマンド | 用途 |
|---|---|
pnpm test |
テスト実行 |
pnpm test:watch |
ウォッチモード |
pnpm test:coverage |
カバレッジ付きテスト(閾値 80%) |
pnpm lint |
ESLint チェック |
pnpm typecheck |
TypeScript 型チェック |
pnpm validate |
lint + typecheck + test を一括実行 |
Conventional Commits 形式(feat:, fix:, test: 等)を採用しています。
- テストカバレッジ — PR ごとにカバレッジレポートを生成し、GitHub Pages にデプロイ
- Xcode Cloud — iOS ビルドの自動化
AI-DLC(AI-Driven Development Lifecycle)は、AWS が提唱する AI 駆動開発ライフサイクルです。AI を単なる補助ツールではなく、要件定義から実装・テスト・デプロイまで全工程の主体的な実行者として位置づけ、人間は AI のアウトプットを判断・承認する監督者としての役割を担います。
本プロジェクトでは、Everything as Code の原則に基づき、仕様やドキュメントもコードとして管理しながら、AI との協働開発を実践しています。
- お気に入りボタンのアニメーション: Like by LottieFiles(Lottie Simple License に基づき使用)
MIT


