Files

2.9 KiB

プロジェクト構成定義書 (Project Configuration)

1. プロジェクト基本情報 (Basic Information)

  • プロジェクト名: Android 音声操作端末アプリ (Voice-Controlled Android App)
  • 対象パス: /root/.gemini/antigravity-cli/scratch/voice_controlled_device
  • 開発種別: 新規開発 (New Development)
  • 対象デバイス / OS: Android OS 10.0+ (API Level 29 以上推奨)
  • ハードウェア設計の有無: なし (市販/標準Android端末の上で動作するソフトウェア開発。内蔵マイク・スピーカー・Bluetoothオーディオ機器等を使用)
  • 主なユースケース: ハンズフリーによる音声認識・コマンド入力、対話システム、音声読み上げ (TTS)、端末状態管理

2. 技術スタック (Tech Stack)

  • プログラミング言語: Kotlin (v1.9+)
  • UIフレームワーク: Jetpack Compose (宣言型UI)
  • 音声認識 (Speech Recognition): SpeechRecognizer API / Android Voice Interaction API
  • 音声合成 (Text-to-Speech): TextToSpeech (TTS) Engine
  • 非同期処理・状態管理: Kotlin Coroutines, StateFlow / SharedFlow
  • アーキテクチャモデル: Clean Architecture + MVVM (Model-View-ViewModel)
  • 依存関係注入 (DI): Hilt / Koin
  • データ保持・キャッシュ: Room Database / DataStore Preferences

3. テスト実行方式 & CI/CD (Testing & CI Execution)

  • テスト実行方式:
    • ローカルテスト (Local Execution):
      • 単体テスト: JUnit 5, MockK, Turbine (Flow/Coroutinesテスト)
      • UI・結合テスト: Jetpack Compose Test Framework, Robolectric
    • CI実行環境 (CI Pipeline):
      • Gitea Runner / GitHub Actions によるビルド自動化、静的解析 (ktlint/detekt)、単体テスト実行
  • テストスコープ:
    • Domain / Data レイヤーのユニットテスト完全自動化
    • SpeechRecognizer / TTS ラッパーインターフェースのモックテスト

4. 推奨ディレクトリ構成 (Directory Structure)

voice_controlled_device/
├── docs/
│   ├── 00_project_config.md   # 本構成定義ファイル
│   └── 02_specifications.md   # 機能仕様書
├── app/
│   ├── src/
│   │   ├── main/
│   │   │   ├── java/com/example/voiceapp/
│   │   │   │   ├── data/       # リポジトリ・ローカルデータソース
│   │   │   │   ├── domain/     # ユースケース・モデル定義
│   │   │   │   ├── ui/         # Jetpack Compose UI / ViewModel
│   │   │   │   └── voice/      # SpeechRecognizer & TTS ラッパーモジュール
│   │   │   └── AndroidManifest.xml
│   │   └── test/               # 単体テストコード
└── build.gradle.kts

5. 次の工程への引継ぎ事項

  • 機能仕様書 (docs/02_specifications.md) の作成に進みます。