06 — 言語別ガイド

言語・フレームワーク別の注意点と活用法

Java / VB.NET / C#.NET / ASP.NET Core / TypeScript それぞれの特性に合わせた AI開発ツール活用のポイント・推奨IDE・テスト方法・プロンプト設計の注意点を解説します。

言語を選択

Java
Spring Boot / Quarkus / Micronaut / Jakarta EE / Vert.x
推奨IDE
VS Code(Eclipseより優先)
コンテキスト参照量と拡張機能の成熟度が高く、Copilotの精度が出やすい
テストフレームワーク
JUnit5 + Mockito
Gradleでの実行:./gradlew test --tests クラス名

AI開発ツール活用のポイント

場面ポイント
Entity/Model生成テーブル定義mdファイルを参照させる。カラム名・型・NULL可否を明示することで正確なフィールド定義が生成される
SQL生成Doma2の場合はSQLファイルの場所と命名規則をproject_info.mdに記載しておく。既存SQLを参照例として示す
JUnit生成テスト対象クラス・メソッド・処理概要・判定仕様・前提条件を明示する。既存テストクラスのパターンを参照させる
DI方式Spring/Quarkus/MicronautでDI流儀が異なる。利用FWごとのDI方針をcoding_rules.mdに明記して混在を防ぐ
起動方式Quarkus/Micronautは軽量起動やネイティブ化を選べる。起動方式とビルド方針(JVM/Native)をproject_info.mdで固定する
標準準拠Jakarta EEを使う場合は、JAX-RS/CDI/JPAのどこまでを標準採用するかを先に定義する
実行モデルVert.xを使う場合は、Event Loopをブロックしない設計制約をrulesに明記する
例外処理プロジェクト固有の例外クラス・ハンドラーをproject_info.mdに記載し、Agentが既存パターンに沿って実装するよう指示する

mdファイルに記載すべき情報

  • Javaバージョン・利用フレームワーク(Spring Boot/Quarkus/Micronaut/Jakarta EE/Vert.x)・ビルドツール(Maven/Gradle)
  • パッケージ構成(controller/service/repository/entity/dto など)
  • DBアクセス方法(Doma2/MyBatis/JPA など)とSQLファイルの配置場所
  • テストの実行方法・テストクラスの命名規則・配置場所
  • ログ出力方法・例外処理パターン
Eclipse vs VS Code: Eclipseでも動作しますが、VS CodeはCopilotとの統合度が高く、 ワークスペース全体のコンテキストを参照した補完精度が優れています。 特に複数ファイルにまたがる調査・設計作業ではVS Codeを推奨します。
VB
VB.NET
.NET Framework / .NET 6+ / WinForms / WebForms
推奨IDE
Visual Studio 2022
CopilotのVS拡張が成熟しており、ソリューション全体のコンテキストを活用しやすい
テストフレームワーク
MSTest / NUnit / xUnit
Visual Studioのテストエクスプローラーから実行

AI開発ツール活用のポイント

場面ポイント
VB固有構文VB.NETはC#と構文が異なるため、「VB.NETで実装してください」と明示する。C#コードを生成されないよう注意
Null処理VB.NETのNothing/IsNothing/IsNullOrEmptyの使い分けをcoding_rules.mdに明記する
イベントハンドラWinFormsの場合、イベント名・コントロール名・処理概要を明示する。既存ハンドラのパターンを参照させる
ADO.NET/ORMDataSet/DataTable/Entity Frameworkなど使用するDBアクセス方法をproject_info.mdに明記する
Option StrictOption Strict On/Offの設定をproject_info.mdに記載し、型変換の扱いを統一する

mdファイルに記載すべき情報

  • .NETバージョン・対象フレームワーク(WinForms/WebForms/WPFなど)
  • Option Strict/Option Explicit の設定
  • DBアクセス方法(ADO.NET/Entity Framework/Dapper など)と接続文字列の管理方法
  • エラーハンドリングパターン(Try-Catch-Finally の使い方)
  • 共通モジュール・ユーティリティクラスの場所と使い方
注意: CopilotはC#の方が学習データが豊富なため、VB.NETの生成精度はC#より低い場合があります。 生成されたコードは必ずVB.NET構文として正しいか確認してください。 特にDim宣言・Nothing比較・AndAlso/OrElseの使い方に注意してください。
C#
C#.NET
.NET 6+ / WinForms / WPF / Console / Class Library
推奨IDE
Visual Studio 2022
IntelliSenseとCopilotの統合が最も成熟している
テストフレームワーク
xUnit / NUnit / MSTest
dotnet test または Visual Studioのテストエクスプローラー

AI開発ツール活用のポイント

場面ポイント
LINQ活用LINQの使用方針(メソッド構文/クエリ構文)をcoding_rules.mdに明記する。Agentは両方を混在させることがある
async/await非同期処理の使用方針をproject_info.mdに明記する。同期/非同期の混在を防ぐ
Nullable参照型.NET 6以降のNullable参照型の有効/無効をproject_info.mdに記載する
DI/IoCDIコンテナの使用方法・ライフタイム(Singleton/Scoped/Transient)の方針を明記する
Entity FrameworkCode First/Database Firstの方針・マイグレーション管理方法をproject_info.mdに記載する

mdファイルに記載すべき情報

  • .NETバージョン・C#バージョン・対象フレームワーク
  • Nullable参照型の有効/無効設定
  • DBアクセス方法(Entity Framework/Dapper/ADO.NET)とマイグレーション管理
  • 非同期処理の使用方針
  • 例外処理パターン・ログ出力方法(Serilog/NLog/Microsoft.Extensions.Logging)
🌐
ASP.NET Core
.NET 6+ / MVC / Razor Pages / Web API / Blazor
推奨IDE
Visual Studio 2022(C#バックエンド)
VS Code(Razorビュー・フロントエンド)
用途に応じて使い分ける
テストフレームワーク
xUnit + WebApplicationFactory
統合テスト:dotnet test
APIテスト:Postman / REST Client

AI開発ツール活用のポイント

場面ポイント
Controller設計MVCかMinimal APIかをproject_info.mdに明記する。ルーティング規則・アクション命名規則を統一する
認証・認可JWT/Cookie認証の方針・[Authorize]属性の使い方・ポリシー定義をarchitecture_rules.mdに記載する
RazorビューTagHelper/HTMLHelper/Blazorコンポーネントの使い分けをproject_info.mdに明記する
バリデーションDataAnnotations/FluentValidationの使い分けをcoding_rules.mdに明記する
ミドルウェアカスタムミドルウェアの配置場所・実装パターンをarchitecture_rules.mdに記載する

mdファイルに記載すべき情報

  • .NETバージョン・ASP.NET Coreバージョン・アーキテクチャパターン(MVC/Razor Pages/Web API)
  • 認証方式(JWT/Cookie/Windows認証)と認可ポリシー
  • APIレスポンスの共通仕様(成功/エラーの形式)
  • バリデーション方法・エラーメッセージの返し方
  • ログ出力方法・例外ハンドリングミドルウェアの仕様
API設計のポイント: APIレスポンスの共通仕様(成功時・エラー時のJSON構造)を docs/official/design/api_response_convention.md に定義しておくと、 Agentが一貫したレスポンス形式でAPIを実装します。
TS
TypeScript
React / Vue / Node.js / Express
推奨IDE
VS Code
TypeScriptの型情報を活用した補完精度が最も高い。フロントエンド開発で特に有効
テストフレームワーク
Jest / Vitest / Testing Library
npm test または npx vitest

AI開発ツール活用のポイント

場面ポイント
型定義APIレスポンス型・DTO型・コンポーネントProps型をmdファイルに定義しておく。Agentが型安全なコードを生成しやすくなる
any禁止coding_rules.mdに「anyの使用は原則禁止」と明記する。Agentはanyを使いがちなため制約が重要
コンポーネント設計コンポーネントの責務分離方針(Container/Presentational など)をarchitecture_rules.mdに記載する
状態管理useState/useReducer/Zustand/Reduxなど使用する状態管理方法をproject_info.mdに明記する
API呼び出しfetch/axios/SWR/React Queryなど使用するHTTPクライアントをproject_info.mdに明記する。エラーハンドリングパターンも記載する

mdファイルに記載すべき情報

  • TypeScriptバージョン・フレームワーク(React/Vue)・バージョン
  • tsconfig.jsonの主要設定(strict/target/moduleなど)
  • コンポーネント設計方針・ファイル命名規則・ディレクトリ構成
  • 状態管理方法・APIクライアントの使い方
  • テストの書き方・モックの方法・カバレッジ方針
型定義ファイルの活用: APIレスポンスの型定義をtypes/api.tsなどに集約し、 そのファイルをAgentに参照させることで、フロントエンドとバックエンドの型整合が取れた実装が生成されます。 バックエンドがASP.NET CoreやJavaの場合も、APIレスポンスのmdファイルから型定義を生成させることができます。

言語共通:project_info.md テンプレート

どの言語でも必ず記載すべき項目です。このファイルがAgentの最初の参照先になります。

# プロジェクト情報 ## プロジェクト概要 - プロジェクト名: - 目的・概要: - 対象ユーザー: ## 技術スタック - 言語:(例:Java 17 / C# 12 / TypeScript 5.x) - フレームワーク:(例:Spring Boot 3.x / ASP.NET Core 8 / React 18) - DBアクセス:(例:Doma2 / Entity Framework Core / Dapper) - DB:(例:Oracle 19c / SQL Server 2019 / PostgreSQL 15) - ビルドツール:(例:Gradle / Maven / npm / dotnet CLI) - テストフレームワーク:(例:JUnit5 / xUnit / Jest) ## ディレクトリ構成 (主要なディレクトリと役割を記載) ## 命名規則 - クラス名: - メソッド名: - 変数名: - ファイル名: ## 禁止事項 - (例:anyの使用禁止 / 直接DBアクセス禁止 / ビジネスロジックをUI層に書くことを禁止) ## 注意事項 - (プロジェクト固有の制約・注意点)