mcpField
M
micronaut

micronaut

github.com/mindrally開発287691 回インストール3 週間前に更新
リポジトリ

micronaut について

Java 開発者向けの Micronaut 開発スキルです。フレームワークの規約、テスト、セキュリティ、データアクセス、デプロイに加え、GraalVM のネイティブビルドやリアクティブプログラミングを扱います。

主な機能

  1. 01Micronaut アプリの構成と規約
  2. 02コンパイル時 DI と AOT
  3. 03GraalVM ネイティブビルド
  4. 04JUnit 5 と Micronaut Test によるテスト
  5. 05セキュリティ、データアクセス、監視

活用シーン

  1. 01Micronaut サービスや REST API の設計
  2. 02単体テストと統合テストの作成
  3. 03GraalVM ネイティブイメージの準備
  4. 04認証とデータアクセスの設定

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mindrally/skills --skill micronaut

インストール後、Claude Code で/micronautを入力して読み込まれたか確認します。

詳細

Micronaut

Java プログラミング、Micronaut フレームワーク、GraalVM ネイティブビルド、リアクティブプログラミング、Maven/Gradle、JUnit、および関連する Java テクノロジーのエキスパートとして対応してください。

コードのスタイルと構造

  • Micronaut のベストプラクティスに従い、クリーンで効率的、かつ十分にドキュメント化された Java コードを記述します
  • パッケージ構成と命名には Micronaut の規約に従います
  • camelCase 規則に従い、説明的なメソッド名と変数名を使用します
  • 一貫した構成(コントローラー、サービス、リポジトリ、ドメイン、設定)でアプリケーションを構築します

Micronaut 固有の事項

  • Micronaut のコンパイル時依存性注入を活用して、起動を高速化します
  • Micronaut アノテーション(@Controller、@Singleton、@Inject、@Value)を効果的に使用します
  • 事前(AOT)コンパイルの最適化を実装します
  • パフォーマンスを最大化し、メモリフットプリントを最小限に抑えるため、GraalVM でネイティブビルドを設定します

命名規則

  • クラス名には PascalCase を使用します(例:UserController、OrderService)
  • メソッド名と変数名には camelCase を使用します(例:findUserById、isOrderValid)
  • 定数には ALL_CAPS を使用します(例:MAX_RETRY_ATTEMPTS、DEFAULT_PAGE_SIZE)

Java と Micronaut の使用

  • 適用可能な場合は Java 17 以降の機能を使用します(例:record、sealed class、パターンマッチング)
  • 依存関係の管理には Micronaut BOM を利用します
  • Micronaut に組み込まれた機能(HTTP クライアント、シリアライズ、バリデーション)を統合します
  • Project Reactor または RxJava を使用した Micronaut のリアクティブサポートを活用します

設定とプロパティ

  • 設定は application.yml または application.properties に保存します
  • 型安全な設定の注入には @Value または @ConfigurationProperties を使用します
  • 環境ごとの設定には Micronaut の環境(dev、test、prod)を利用します
  • Micronaut の設定サーバーとの統合(Consul、AWS Parameter Store)を活用します

依存性注入と IoC

  • Micronaut のコンパイル時 DI アノテーション(@Inject、@Singleton、@Prototype)を使用します
  • テスト容易性と不変性を高めるため、コンストラクターインジェクションを優先します
  • 複雑な Bean の作成には @Factory を活用します
  • 条件付きの Bean 読み込みには @Requires を使用します

テスト

  • JUnit 5 と Micronaut Test を使用して単体テストを記述します
  • 組み込みサーバーを使用した統合テストには @MicronautTest を使用します
  • 依存関係のモックには @MockBean を実装します
  • データベースおよびサービスの統合テストには Testcontainers を使用します

パフォーマンスとスケーラビリティ

  • GraalVM の設定を使用してネイティブイメージの作成を最適化します
  • キャッシュ戦略には @Cacheable と @CacheInvalidate を使用します
  • Micronaut のリアクティブ HTTP クライアントを使用して、リアクティブパターンを実装します
  • データベースのインデックス作成とクエリ最適化の手法を活用します
  • 高密度なデプロイでは Micronaut の低いメモリフットプリントを活用します

セキュリティ

  • 認証と認可には Micronaut Security を使用します
  • Micronaut JWT を使用して JWT ベースのセキュリティを実装します
  • 外部の ID プロバイダーとの OAuth2/OIDC 統合を設定します
  • CORS 設定はアプリケーション設定を通じて行います
  • Jakarta Validation を使用して適切な入力検証を実装します

ロギングとモニタリング

  • 構造化ロギングには Logback と SLF4J を使用します
  • ヘルスチェックとメトリクスには Micronaut Management を実装します
  • アプリケーションメトリクスのエクスポートには Micronaut Micrometer を使用します
  • Zipkin または Jaeger を使用して分散トレーシングを統合します
  • 適切なログレベル(ERROR、WARN、INFO、DEBUG)を使用します

API ドキュメント

  • API ドキュメントの自動生成には Micronaut OpenAPI を使用します
  • コントローラーとオペレーションには詳細な OpenAPI アノテーションを付与します
  • Swagger UI でインタラクティブなドキュメントを生成します

データアクセスと ORM

  • コンパイル時のクエリ生成によってデータアクセスを簡素化するには Micronaut Data を使用します
  • 要件に応じて Micronaut Data JPA または Micronaut Data JDBC を実装します
  • 適切なエンティティのリレーションシップとカスケードを設定します
  • Flyway または Liquibase を使用してデータベースのマイグレーションを実装します

ビルドとデプロイ

  • Micronaut プラグインを使用して Maven または Gradle を利用します
  • 最適化されたコンテナーイメージを作成するため、マルチステージ Docker ビルドを設定します
  • ネイティブイメージをビルドするため、Micronaut の GraalVM サポートを活用します
  • デプロイ先ごとに適切なプロファイルと環境変数を使用します
  • Micronaut のクラウド連携機能(AWS、GCP、Azure)を活用します

一般的なベストプラクティス

  • RESTful API の設計原則に従います
  • 起動が速く、メモリー使用量の少ないマイクロサービスアーキテクチャに Micronaut を活用します
  • リソースを効率的に使用するため、非同期処理とリアクティブ処理を実装します
  • 高い凝集度と疎結合を実現するため、SOLID 原則に従います
  • クラウドネイティブなデプロイ(Kubernetes、サーバーレス)を前提に設計します
  • Micronaut のサービスディスカバリー機能と分散設定機能を活用します

コメント