Flutterの「地味でつらい作業」、JetBrainsのAIエージェントJunieに全部任せたら開発体験が変わった話
本記事では Flutter開発で実際に使えるJunieプロンプト をケース別にまとめました。
ただのプロンプト集ではなく、Before/After の改善例、実際のコード、Junie活用ワークフロー付き でQiita読者向けに最適化しています。
✨ 本記事のポイント
- 実践的なJunieプロンプトだけを厳選
- Flutterのボトルネックを解決するテンプレート付き
目次
- Junieとは?
- Flutter開発で使えるプロンプト集(ケース別)
- バグ修正
- リファクタリング
- テスト自動生成
- ドキュメント生成
- 実例:Junieでここまでできるワークフロー
- スクショ構成
- あとがき
- 付録:Junieプロンプト集
1. Junieとは?
Junie は JetBrainsが提供する AIコーディングエージェントです。IDE上でシームレスに使え、コード補完・リファクタリング・テスト生成・ドキュメント化 まで行えます。
FlutterのようなUI重視プロジェクトでは、UIロジックの複雑さや非同期処理 が課題になります。
そんな時にJunieが強力な味方になります。
2. Flutter開発で使えるJunieプロンプト集
以下は ジャンル別に使えるテンプレ集 です。
バグ修正プロンプト
🔹 Prompt: Flutter エラー「Null check operator used on a null value」の原因と修正方法を教えて
🔹 Before: 実際のエラー箇所のコードを貼る
🔹 After: 改善案 + リファクタ済みコード
リファクタリングプロンプト
🔹 Prompt: このWidgetをより読みやすく、再利用可能にリファクタして
🔹 Before: 長いbuild関数
🔹 After: 分割・共通化されたコード
テスト自動生成プロンプト
🔹 Prompt: この関数のユニットテストを自動生成して
🔹 After: テストケース + mock実装
ドキュメント生成プロンプト
🔹 Prompt: このAPIクラスのドキュメントをMarkdownで作成して
🔹 After: 自動生成されたdoc
3. 実例:Junie × Flutter 開発ワークフロー
以下は 実際にJunieを使って改善した例 です。
Before
Widget build(BuildContext context) {
return Column(
children: [
const Text("Hello"),
ElevatedButton(
onPressed: doSomething,
child: const Text("Run"),
),
],
);
}
Junieに投げたプロンプト
このbuildメソッドを分割し、
可読性とテストしやすさを改善してください。
After(Junieが生成)
class HelloView extends StatelessWidget {
const HelloView({super.key});
@override
Widget build(BuildContext context) {
return const Column(
children: [
HelloText(),
RunButton(),
],
);
}
}
このように 責務を明確化したWidget分割 が自動生成されました。
5. あとがき
正直に言うと、この記事を書く前まで
「AIを本格的に開発に任せるのは、まだ早いんじゃないか」
と思っていました。
でも Junie を使ってみて感じたのは、
AIがコードを書くかどうかより、
「人間が何に集中できるか」の方がずっと大事**だということです。
Flutter開発で一番疲れるのは、
難しい実装ではなく 考えなくていい作業 でした。
それを IDE の中で引き受けてくれる存在がいるだけで、
開発の楽しさはここまで変わるんだな、と感じています。
もし今、
- リファクタが後回しになっている
- コードを書くのが少し億劫
- AIの使いどころに迷っている
そんな状態なら、
一度「小さく」Junieに任せてみるのはかなりおすすめです。
この記事が、
あなたの開発体験を少しでも楽にするきっかけになれば嬉しいです。
6. 付録:Junieプロンプト集(コピペ用)
実際のFlutter開発で そのまま貼って使える Junie向けプロンプト集です。
「考えなくていい作業」をAIに任せる前提でまとめています。
ViewModelの責務分割
/// TODO(junie):
/// この ViewModel を責務ごとに分割してください。
/// - UI State 管理
/// - API 通信
/// - 入力バリデーション
/// Flutter / Dart の慣習に従って命名してください。
Widget分割・命名改善
/// TODO(junie):
/// このWidgetを役割ごとに分割してください。
/// 再利用可能な単位を意識し、
/// Widget名は意味が伝わるものにしてください。
lint / analyzer 警告の一括修正
/// TODO(junie):
/// analyzer の警告をすべて解消してください。
/// アプリの挙動や意図が変わらないよう注意してください。
null safety 改善
/// TODO(junie):
/// null safety を改善してください。
/// 不要な ! 演算子は削除し、安全な実装にしてください。
ユニットテストの叩き台生成
/// TODO(junie):
/// このクラスのユニットテストを作成してください。
/// arrange / act / assert の構造で、
/// モックが必要な箇所はコメントで示してください。
リファクタ案だけ欲しい場合
/// TODO(junie):
/// このコードの改善案を提案してください。
/// ただし、まだ修正は行わないでください。
影響範囲の洗い出し
/// TODO(junie):
/// この変更による影響範囲を洗い出してください。
/// 関連するファイルを列挙してください。
ドキュメント自動生成
このクラスの仕様を Markdown でドキュメント化してください。
- 目的
- 入出力
- 注意点(前提条件・例外)
- 使用例(サンプルコード)
いいねやコメント待ってます!!
