IDE × AIモデル別:プロンプトに食わせるべきファイルまとめ

主要IDEごとに、連携AI・推奨ファイル・目的・補足を整理した表です。プログラミング中心にまとめています。

1. 基本のセット

  • プロジェクト概要・設計
    README.md, architecture.md
    AIに全体像・設計方針・責務を理解させる
  • 依存・環境情報
    build.gradle(.kts), package.json, Podfile, .env.example
    SDK・ライブラリ・環境変数を正確に認識させる
  • コーディング方針・ルール
    .prompt.yaml, .copilot-instructions.md, .editorconfig
    命名規則、禁止API、コードスタイルを統一

2. IDE × AIモデル別の推奨ファイルと効果

IDE 推奨AIモデル 重点ファイル 効果 補足
Android Studio / IntelliJ Gemini Code Assist, Copilot .prompt.yaml, build.gradle, architecture.md Androidプロジェクト全体を理解した補完・設計提案 プロジェクト全体の構造を解析可能。方針ファイルで安定化。
Xcode Copilot, GPT-5 .prompt.yaml, Package.swift, README.md SwiftUI/MVVM設計に沿った正確なコード生成 Xcodeは依存解析が弱めなので .prompt.yaml を明示すると効果大。
VS Code Copilot Chat, GPT-5 .copilot-instructions.md, package.json, README.md 軽量環境で多言語対応、チーム開発の方針共有に有効 拡張機能単位でAI切替可能。指示ファイルが最重要。
Cursor / Windsurf / Aider GPT-5 / Claude 3.5 / Gemini 1.5 .prompt.yaml / .cursorconfig, README.md, architecture.md, build設定 設計・生成・リファクタを自動で分担 ファイル単位でAIが文脈キャッシュを保持。設計書参照可。
Jupyter / DataSpell / VSCode + Python GPT-4 Turbo, Gemini Advanced .ipynb / .csv / .xlsx, analysis.md / README.md, .prompt.yaml データ解析・統計・グラフ生成 データ+分析目的+出力形式を渡すと的確に解析可能。
Figma / Webflow / Framer Gemini 1.5 Pro (Vision), GPT-5 Vision .fig / .svg / layout.json, style_reference.jpg, .prompt.yaml UIデザイン→コード変換・スタイル抽出 構図+目的+出力フォーマット指定でSwiftUIやComposeコード化が容易。

3. 実務での運用Tips

  • サンプルコードを渡す
    /sample_code に小さな動作例を置くと、AIが文体やパターンを模倣しやすい
  • 変更履歴を渡す
    CHANGELOG.md や feature_list.md を読むことで、過去の修正意図を理解し、安全な提案が可能
  • 大きなファイルは要約して渡す
    設計書や長文ドキュメントは、AIの文脈理解の負荷を減らすために必要部分だけ渡す
  • 依存関係やAPI仕様は明示
    未定義関数や古いAPIの誤提案を防ぐため、build.gradle や .env.example を食わせる

4. まとめ

プログラミングAIを「単なるコード補完」ではなく、プロジェクト理解型のアシスタントとして活用するには、

「概要 + 環境 + 方針」をAIに与えることが最も重要です。

  • IDEや言語に合わせたファイルを食わせる
  • 設計方針と依存関係を明確化する
  • サンプルコードや履歴で文脈を補完する

この3ステップで、AIは理解に基づいたコード生成・設計提案を行い、開発効率と品質を大幅に向上させられます。


Android Studio で Gemini と AI Assistant プラグインを使い、「自動生成された英語のコミットメッセージ」を日本語化する

本記事は、Android Studio 上で Gemini(モデル)と AI Assistant(プラグイン)を併用し、AI によって自動作成された英語のコミットメッセージを、チーム規約に沿った自然な日本語へ変換する実践手順をまとめたものです。

英語での自動草案は便利ですが、そのままだと意図やニュアンスが伝わりにくいことがあります。

ここでは「英語の自動生成を起点に、短い操作で日本語化」「テンプレ化して常に日本語で提案」の二段構えで対処します。

 

🧑🏻‍💻 Gemini:Prompt Library を編集し、「常に日本語で提案」されるようテンプレ化

毎回 “Translate to Japanese.” を書くのが手間なら、Gemini のプロンプトテンプレートに翻訳指示を埋め込み、英語で自動生成されるコミットでも出力は日本語に統一します。

手順

1. Android Studio の


設定 → Tools → Gemini → Prompt Library

2. Scope を IDE に設定
3. 以下を選択


Built-in Actions → 「Commit Message Generation」

4. プロンプト本文の末尾に次を追加して保存


Translate to Japanese.

効果

・ コミット時の提案が常に日本語で出力され、英語の自動草案を逐一翻訳する手間がなくなる
・ チームで設定を共有すれば、言語運用と文体の統一が容易
・ 既定の変数($SAMPLE_COMMIT_MESSAGES, $COMMIT_DIFF など)はそのまま活用可能

よりニュアンスを保ちたい場合は、翻訳行を次に差し替えるのも有効です。


Translate to natural Japanese, preserving engineering nuance and concision. Keep Conventional Commits types in English and code identifiers as-is.

 

🧑🏻‍💻 AI Assistant:英語の自動草案を、コミット直前に即座に日本語化

最短のワークフローは、コミットダイアログ右側の「AI Assistant」で英語の自動生成メッセージに対し、1 行の指示を追加して日本語化する方法です。

手順

1. コミットダイアログを開く
2. 右ペイン「AI Assistant」の「Prompt for generation」に次を追記する:


Translate to Japanese.

3. 生成結果をタイトル・本文に反映してコミット
4. 必要に応じて「Run advanced checks after a commit is done」を有効化し、生成後の検査を自動実行

ポイント

・ 自動生成の英語タイトル(例: feat: Add comments to MainViewModel)を、短く自然な日本語に置換
・ Conventional Commits の型(feat, fix など)は英字のまま保持し、意味合いは本文で補足
・ 冗長化を避ける既定ルールが効いて、端的な日本語に収まりやすい

英語の自動草案は背景を省きがちです。本文で「〜のため」を 1 行だけ補って理由を明示すると、レビュー時の誤解を減らせます。

 

🧑🏻‍💻 まとめ

・ Android Studio で Gemini と AI Assistant を併用すれば、AI が自動生成した英語のコミットメッセージを、短い操作で自然な日本語に変換できる
・ すぐ使うなら AI Assistant のプロンプトに “Translate to Japanese.” を追加
・ 恒久化するなら Gemini の Prompt Library で翻訳指示をテンプレ化
・ 運用の合言葉は「型は英字・サブジェクトは日本語・本文で背景と影響」。英語の自動草案の不足分は、日本語本文で補いましょう。


『AIで書いたコードは危険』と語る著名プログラマーたちのコメント

 

🤔 Jake Wharton

I really dislike all this 'auto complete sold as AI by big corpo' crap.

私はこの“大企業がAIとして売っているオートコンプリート”というクソみたいなものが本当に嫌いだ。

Don't blindly trust code generated by AI; always review and understand it.

AIが生成したコードを盲目的に信頼してはいけない。必ずレビューし、理解すること。

 

🤔 Andrew Ng

Just vibe coding is not going to help. Using and relying on generated code is dangerous. AI generated code can produce hallucinations.

vibe codingは役に立たない。生成されたコードを使って頼るのは危険だ。AIが生成するコードは幻覚を生じる可能性がある。

 

🤔 Martin Fowler

When I’m using AI for coding, I find myself constantly making little risk assessments about whether to trust the AI, how much to trust it, and how much work I need to put into the verification of the results.

AIを使ってコーディングをしているとき、私は常にAIを信頼するかどうか、その信頼度をどの程度にするか、結果の検証にどれだけの労力をかけるべきかを小さなリスク評価として行っています。

 

🤔 Kent Beck

I feel good about the correctness & performance, not so good about the code quality. When I try to write the code as a literate program there's ...

私は正確性とパフォーマンスには満足していますが、コードの品質にはあまり満足していません。コードをリテラルプログラムとして書こうとすると…

 

🤔 Robert C. Martin

The clean coder 'Uncle Bob' aka Robert C. Martin reflects on his career, the way he works and what advice he would give to his younger self if he were to start ...

クリーンコーダー“Uncle Bob”ことRobert C. Martinは、自身のキャリア、働き方、そして若い頃の自分にどんなアドバイスをするかについて振り返っています。

 

🧑🏻‍💻 まとめ

著名なプログラマー達は、AIをコーディングの補助ツールとして評価しつつも慎重な姿勢を見せています。

AIが生成したコードは盲信せず、品質管理の最終的な責任は開発者自身が負うべきだと彼らは強調します。

結論として、AIは便利なツールですが、その出力は常に人間の手でレビュー・検証される必要があります。

 

🤔 参考

👉 AI を使ったプロンプトに入れておきたい著名プログラマーの哲学的名言100


AIが書いたコードは静かにアプリを壊す — “動く”ことに満足した開発の行き着く先 —

 

🧑🏻‍💻 1. 「動くコード」を生み出すAIの魔法と、その落とし穴

最近の開発現場では、「AIにコードを書かせる」のが当たり前になってきた。
ChatGPTやGitHub Copilotに「○○を実装して」と伝えれば、数秒で動くコードを出してくれる。
それをコピーして貼り付ければ、ビルドも通り、アプリも動く。
——まるで魔法のようだ。

けれど、実はこの“動くコード”こそがアプリを静かに壊していく。
なぜなら、そのコードは「なぜ動くのか」を誰も理解していないからだ。
AIは文脈を「設計思想」ではなく「統計的パターン」で捉える。
だから動作優先で、構造や責務を無視したコードを出すことがある。

その結果、「とりあえず動いたからOK」というコードが少しずつ積み上がる。
数カ月後、いざ修正しようとしたとき、
「この処理、誰がどうしてこう書いたんだっけ?」
——誰も答えられない。
そんな“ブラックボックス化”が静かに進んでいく。

 

🧑🏻‍💻 2. 小さな歪みが積もって、アプリの寿命を縮める

AIが生成するコードは、局所的には正しい。
しかし全体で見れば、設計のバランスを壊していることが多い。

たとえばMVVM構造のアプリで、AIが「便利なショートカット」としてUI層から直接データベースにアクセスするようなコードを出す。
確かに動く。けれど、これは明確に“構造違反”だ。
一見問題ないように見えても、
こうした「小さな歪み」が何十箇所も積み重なると、アプリは急速に脆くなる。

特にAIは“最短距離”で解決しようとする。
テストやエラーハンドリングは省かれ、
依存ライブラリも無自覚に増える。
それでも最初は動くため、気づかない。
だが、ある日突然ビルドが通らなくなったり、
AndroidやiOSのバージョン更新で全体が壊れたりする。

原因を追っても、「どこから手をつければいいのか」が分からない。
AIが生み出した“つぎはぎ構造”が、まるで崩れかけた積み木のように、
どこを直しても全体がぐらつく。
——それが「AIがアプリの寿命を縮める」という現象の正体だ。

 

🧑🏻‍💻 3. AIと共存するために、設計を“守る人間”が必要になる

AIを完全に排除することは現実的ではない。
むしろ、うまく使えば開発効率は飛躍的に上がる。
問題は、「AIに書かせたあとをどう扱うか」だ。

たとえば、AIに出させたコードは必ずレビューする。
一人開発でも“レビュー時間”を意識的に取る。
「動くかどうか」ではなく、「構造的に正しいか」を基準に見る。
さらに、AIへの指示(プロンプト)も工夫する。
「なぜこの方法なのか」「設計上のリスクは?」と質問を加えるだけで、
AIの出力品質は大きく変わる。

AIはあくまで“補助輪”だ。
自転車を前に進ませることはできても、
どの道を走るべきかまでは決めてくれない。

これからのエンジニアは、
AIを“使う人”ではなく“指揮する人”になる必要がある。
AIの力で速く動く一方で、
人間が「構造を守るブレーキ役」を担う。
そのバランスこそが、アプリを長生きさせる秘訣だ。

 

🧑🏻‍💻 まとめ:AIは便利な酸素、でも吸いすぎると毒になる

AIは開発のスピードを何倍にも引き上げる。
しかし、構造を無視したまま使えば、
そのスピードでアプリの寿命を削り取る。

“動く”ことだけをゴールにしてしまうと、
“生き続ける”ための土台が壊れていく。

AIが生み出すコードは、確かに速く、便利で、魅力的だ。
でも、それを理解し、守り、磨き続けるのは人間の役割だ。
アプリの未来は、AIの性能ではなく、
それを正しく使う開発者の構造への愛情にかかっている。


Kotlin・KSP・Compose Compiler を安全に更新する Renovate 設定術(developブランチ運用編)

Jetpack Compose Compiler が Kotlin に強く依存していた時代を経て、
今では少しずつ依存関係が緩やかになってきました。
それでも Kotlin・KSP・Compose Compiler の3つは依然として密接に関係しており、
バージョンのズレひとつでビルドが崩壊するリスクがあります。

この記事では、develop ブランチをメインに運用しつつ、
それらを安全かつ一貫性を保って更新するための Renovate 設定を紹介します。

 

🧩 Kotlin・KSP・Compose Compiler の三位一体更新

Compose Compiler は Kotlin コンパイラと深く結びついて動作するため、
Kotlin のメジャーアップデートが入ると、それに対応した Compose Compiler が必要になります。

さらに、KSP(Kotlin Symbol Processing)も Kotlin バージョンに追随するため、
この3つは基本的に「セットで更新する」のが鉄則です。


{
  "$schema": "https://docs.renovatebot.com/renovate-schema.json",
  "extends": ["config:base"],
  "baseBranches": ["develop"],
  "packageRules": [
    {
      "groupName": "Kotlin, KSP and Compose Compiler",
      "groupSlug": "kotlin",
      "matchPackagePrefixes": [
        "com.google.devtools.ksp",
        "org.jetbrains.compose.compiler"
      ],
      "matchPackagePatterns": [
        "org.jetbrains.kotlin.*"
      ]
    },
    {
      "description": "Do not automerge without CI",
      "matchUpdateTypes": ["minor", "patch", "digest"],
      "automerge": false
    }
  ]
}

 

⚙️ 設定の意図を読み解く

この設定は、単に自動更新を行うだけでなく、
Kotlin 界隈の依存を安全に、かつチームの開発フローに合わせて管理することを意識しています。


baseBranches: ["develop"]

Renovate のデフォルトは main や master に対して PR を作りますが、
実際の開発フローでは「開発用ブランチ(develop)」に更新を入れたいケースが多いですよね。

"baseBranches": ["develop"] を指定しておくことで、
更新 PR が常に develop ブランチに向けて作成されるようになります。

本番リリース前にテストや検証を挟める安全設計です。

 

🔗 groupName: 三つ巴のアップデートを1つにまとめる

groupName は、関連する依存をひとまとめにするためのグループ名。
ここでは "Kotlin, KSP and Compose Compiler" としており、
3つのパッケージを同時に1つの PR にまとめてくれます。


"matchPackagePrefixes": [
  "com.google.devtools.ksp",
  "org.jetbrains.compose.compiler"
],
"matchPackagePatterns": [
  "org.jetbrains.kotlin.*"
]

この指定で次のような依存が同時更新対象になります:


- Kotlin (org.jetbrains.kotlin)

- KSP (com.google.devtools.ksp)

- Compose Compiler (org.jetbrains.compose.compiler)

以前は androidx.compose.compiler でしたが、
現在の Compose Multiplatform では org.jetbrains.compose.compiler に移行しているため、この設定がより正確です。

 

🚫 automerge: false の哲学

Renovate には更新を自動マージする機能がありますが、
Kotlin 系の更新はそれに向きません。

理由は単純で、CI でのビルド確認が欠かせないからです。


{
  "description": "Do not automerge without CI",
  "matchUpdateTypes": ["minor", "patch", "digest"],
  "automerge": false
}

「CI による確認を通らない限り、自動マージさせない」というルールです。

特に Kotlin の minor アップデートでは内部 API が変わることもあり、
Compose Compiler や KSP が対応していない可能性があります。

PR を作成したあと CI を通し、問題なければ手動でマージする。

これが最も安全な流れです。

 

🧭 運用のヒントとまとめ

この設定は、いわば「Kotlin エコシステム用 Renovate セーフティモード」。

自動化の恩恵を受けつつも、壊れやすい依存を慎重に扱うための現実的な妥協点です。

項目 意図
baseBranches 更新PRをdevelop向けにして安全確認を確保
groupName Kotlin / KSP / Compose Compiler を同時に更新
automerge: false CI確認なしでの自動マージを防止
matchPackagePrefixes / matchPackagePatterns 最新の Compose 構成(Compose Multiplatform 等)に対応

 

🪶 まとめ:安全第一の Renovate 運用へ

Renovate は「ただの自動更新ボット」ではなく、
チームのアップデート戦略をコード化できるツールです。

Kotlin、KSP、Compose Compiler のような密接な関係を持つ依存こそ、
グルーピングとマージ制御で慎重に扱うべき対象。

develop ベースで CI を通すこの設定は、
自動化と安全性のバランスを取る最適解のひとつと言えます。

👉 Renovate Docs