このプロジェクトは、株式会社ゆめみにおける Flutter モバイルアプリケーション開発を迅速に開始し、一定の品質基準を保つための標準テンプレートです。 主に以下の目的で作成・利用されることを想定しています。
Flutter プロジェクトの基本的なセットアップ(ディレクトリ構成、静的解析、CI/CD の雛形など)を共通化し、プロジェクト開始時の手間を軽減します。
推奨されるコーディング規約や Lint ルールを導入済みとすることで、コードの可読性や保守性を高め、チーム開発における品質のばらつきを抑制します。
Flutter 開発における知見や推奨されるアーキテクチャパターンをテンプレートに集約し、開発チーム全体で共有します。
GitHub Actions を用いた CI/CD パイプラインの基本的なワークフロー(静的解析、テスト、ビルド)を提供し、開発サイクルの自動化を促進します。
状態管理、ルーティング、多言語対応、テーマ管理、環境変数管理といった、プロジェクトの成長と長期的なメンテナンスを支える基本的な仕組みを提供します。
本テンプレートは、以下の特性を持つ Flutter モバイルアプリケーションプロジェクトでの利用を推奨します。
中規模から大規模プロジェクトを主な対象としています。
本テンプレートに含まれる状態管理 (Riverpod)、ルーティング (go_router)、多言語対応、テーマ管理、CI/CD 設定、ディレクトリ構成などは、一定以上の規模と複雑性を持つプロジェクトでの開発効率、品質維持、および長期的なメンテナンス性の向上を目的としています。
以下のようなケースでは、本テンプレートが適切な選択肢となります。
- 新規に Flutter でモバイルアプリケーション開発を開始し、将来的な機能拡張やチームメンバーの増加が見込まれるプロジェクト
- チームでの開発が前提とされ、コードの品質、開発プロセスの一貫性、スケーラビリティが重視されるプロジェクト
- CI/CD を積極的に活用し、自動化されたテストとデプロイメントパイプラインを構築・運用したいプロジェクト
以下のようなケースでは、本テンプレートが提供する機能や規約がオーバースペックとなり、かえって開発のオーバーヘッドを増加させる可能性があります。よりシンプルな構成から始めることをご検討ください。
- 小規模なプロジェクト
- 短期的なプロトタイピング
- 継続的な機能追加やメンテナンスを予定していないアプリケーション
以下の手順でプロジェクトを開始し、セットアップを進めてください。
このリポジトリの GitHub ページ上部にある緑色の「Use this template」ボタンをクリックし、「Create a new repository」を選択して、必要な情報を入力し、リポジトリを作成します。
テンプレートからリポジトリを作成する - GitHub Docs
本テンプレートから新しいプロジェクトを作成すると、GitHub Actions による初期セットアップ支援ワークフロー (.github/workflows/initialization.yaml
) が自動的に実行されます。このワークフローは、プロジェクト初期セットアップのためのタスクを記載した Issue を自動作成し、不要なファイルを削除するなどのクリーンアップ処理を実行します。
ワークフローの進行状況は新しく作成されたリポジトリの「Actions」タブから確認できます。
initialization
というラベルの Issue を確認して、それぞれ対応を進めていきます。
本テンプレート自体を改善・開発するための環境構築手順については、以下のドキュメントを参照してください。