quarkus について
Quarkusプロジェクトに取り組むエージェント向けの入口スキルです。決定木で各分野の詳細資料へ案内し、エクステンション、ビルド時の統合、テストに関する基本方針も示します。
主な機能
- 01タスクに応じて分野別資料へ案内
- 02依存性注入や設定の参照先を提示
- 03Quarkus platform BOMで拡張バージョンを統一
- 04拡張を絞り、統合テストを重視
活用シーン
- 01Quarkusプロジェクトの作業を開始
- 02RESTや設定の開発資料を探す
- 03Quarkusエクステンションの依存関係を計画
- 04高水準の統合テストを作成
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ b6k-dev/ quarkus-skill --skill quarkusインストール後、Claude Code で/quarkusを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/cdi-events/api.mdconfiguration.mdgotchas.mdpatterns.mdREADME.mdreferences/configuration/api.mdconfiguration.mdgotchas.mdpatterns.mdREADME.mdreferences/data-migrations/api.mdconfiguration.mdgotchas.mdpatterns.mdREADME.mdreferences/data-orm-advanced/api.mdconfiguration.mdgotchas.mdpatterns.mdREADME.mdreferences/data-orm/api.mdconfiguration.mdgotchas.mdpatterns.mdREADME.mdreferences/data-panache/api.mdconfiguration.mdgotchas.mdpatterns.mdREADME.md詳細
Quarkus
あらゆる種類のプロジェクトで Quarkus を扱う際のエントリーポイントスキルとして使用します。 以下の判断ツリーで適切なドメインを見つけてから、詳細なリファレンスを読み込んでください。
判断ツリー
What do you need?
├─ Dependency injection (CDI / ArC)
│ └─ dependency-injection
├─ Application configuration (.properties, profiles, config mapping)
│ └─ configuration
├─ REST and HTTP APIs
│ └─ web-rest
├─ Templates and server-side rendering (Qute)
│ └─ templates
├─ OpenAPI and API contract documentation
│ └─ openapi
├─ Databases, ORM, migrations, data access
│ ├─ Standard JPA / Hibernate ORM usage
│ │ └─ data-orm
│ ├─ Panache entities and repositories for simpler CRUD/data access
│ │ └─ data-panache
│ ├─ Schema migrations and database evolution with Flyway
│ │ └─ data-migrations
│ └─ Advanced Hibernate ORM features: multiple persistence units, multitenancy, caching, extension points
│ └─ data-orm-advanced
├─ Event streaming and asynchronous messaging channels
│ ├─ Is the event crossing a service/process boundary?
│ │ └─ YES -> messaging
│ └─ NO (in-process only)
│ ├─ Need clustering or non-blocking event loop behavior
│ │ └─ YES -> vertx-event-bus
│ └─ Want portability and type safety
│ └─ YES -> cdi-events
├─ Communicating with external APIs, communication between services
│ ├─ Need asynchronous delivery, replay, or broker-managed fan-out
│ │ └─ messaging
│ ├─ Need synchronous request/response calls
│ │ └─ service-communication
│ │ ├─ Shared protobuf contract and HTTP/2 streaming fit well
│ │ │ └─ service-communication-grpc
│ │ └─ Standard HTTP/JSON or simpler interoperability matters more
│ │ └─ service-communication-rest
├─ Authentication, authorization, identity providers
│ ├─ Need core Quarkus security concepts, RBAC, built-in auth mechanisms, or custom policies
│ │ └─ security-core
│ ├─ Protect endpoints with OpenID Connect
│ │ ├─ Inbound bearer tokens, browser login redirects, or hybrid OIDC apps
│ │ │ └─ security-oidc
│ │ └─ Outbound token acquisition, refresh, exchange, or propagation to downstream services
│ │ └─ security-oidc-client
│ ├─ Need JWT verification or token building without full OIDC integration
│ │ └─ security-jwt
│ ├─ Need username/password identity stores backed by JPA, JDBC, or LDAP
│ │ └─ security-identity-providers
│ ├─ Need passkeys or WebAuthn flows
│ │ └─ security-webauthn
│ └─ Need to test secured applications
│ └─ security-testing
├─ Logging, health, metrics, traces
│ ├─ Need help choosing signals, management exposure, or local observability stack
│ │ └─ observability
│ ├─ Logging configuration, JSON logs, MDC, and log shipping
│ │ └─ observability-logging
│ ├─ Liveness/readiness/startup probes and Health UI
│ │ └─ observability-health
│ ├─ Metrics, Micrometer registries, and Prometheus/OTLP export
│ │ └─ observability-metrics
│ └─ Distributed tracing, propagation, and OpenTelemetry
│ └─ observability-tracing
├─ Native image, jars, and container packaging
│ └─ native-and-packaging
│ ├─ Need a native build, closed-world metadata, native SSL, or native-only runtime behavior
│ │ └─ native-image
│ ├─ Need JVM artifact shape decisions: `fast-jar`, `uber-jar`, `mutable-jar`, layout, or re-augmentation
│ │ └─ packaging-jars
│ └─ Need container image packaging: Jib, Docker, Podman, OpenShift, Buildpacks, tags, push, or base images
│ └─ packaging-containers
├─ Testing
│ └─ Start with the feature module you are testing (for example `security-testing` or `native-image`)
└─ Dev mode, CLI, build plugins
└─ tooling
一般的なガイドライン
- Quarkus はフレームワークの連携の多くをビルド時に解決するため、統合上のミスの多くは実行時の深い段階ではなく、ビルド時または起動時に失敗すると想定してください。
- すべてのエクステンションのバージョンを Quarkus プラットフォーム BOM に合わせてください。
- まず最小限のエクステンションセットから始め、機能に必要なものだけを追加してください。
- 高水準の統合テストを決して省略せず、個々のコンポーネントのユニットテストよりも優先してください。ユニットテストは、複雑なロジックを持つメソッドを実装する場合など、実際に有益な場合にのみ作成してください。
コメント
Markdown 対応