quarkus

Expert guidance for Quarkus framework development with Jakarta EE, MicroProfile, GraalVM native builds, and reactive programming patterns

INSTALLATION
npx skills add https://github.com/mindrally/skills --skill quarkus
Run in your project or agent environment. Adjust flags if your CLI version differs.

SKILL.md

$27

  • Use PascalCase for class names (e.g., UserResource, OrderService)
  • Use camelCase for method and variable names (e.g., findUserById, isOrderValid)
  • Use ALL_CAPS for constants (e.g., MAX_RETRY_ATTEMPTS, DEFAULT_PAGE_SIZE)

Java and Quarkus Usage

  • Use Java 17 or later features when applicable (e.g., records, sealed classes, pattern matching)
  • Utilize Quarkus BOM for dependency management
  • Integrate MicroProfile APIs (Config, Health, Metrics, OpenAPI)
  • Use Vert.x for event-driven or reactive programming patterns

Configuration and Properties

  • Store configuration in application.properties or application.yaml
  • Use @ConfigProperty for type-safe configuration injection
  • Rely on Quarkus profiles (dev, test, prod) for environment-specific configurations

Dependency Injection and IoC

  • Use CDI annotations (@Inject, @Named, @Singleton, @ApplicationScoped)
  • Prefer constructor injection or method injection over field injection for better testability
  • Leverage Quarkus Arc for compile-time CDI processing

Testing

  • Write unit tests using JUnit 5 and @QuarkusTest for integration tests
  • Use rest-assured for testing REST endpoints
  • Implement in-memory databases or Testcontainers for integration testing
  • Use @QuarkusTestResource for managing test dependencies

Performance and Scalability

  • Optimize for native image creation using quarkus.native.* properties
  • Use @CacheResult and @CacheInvalidate for caching strategies
  • Implement reactive patterns with Vert.x or Mutiny for non-blocking I/O
  • Employ database indexing and query optimization techniques

Security

  • Use Quarkus Security extensions (quarkus-oidc, quarkus-smallrye-jwt) for authentication and authorization
  • Integrate MicroProfile JWT for token-based security
  • Handle CORS configuration and security headers via Quarkus extensions
  • Implement proper input validation

Logging and Monitoring

  • Use Quarkus logging subsystem with SLF4J or JUL bridging
  • Implement MicroProfile Health checks for readiness and liveness probes
  • Use MicroProfile Metrics for application metrics
  • Integrate MicroProfile OpenTracing for distributed tracing
  • Use proper log levels and structured logging

API Documentation

  • Use Quarkus OpenAPI extension (quarkus-smallrye-openapi) for API documentation
  • Provide detailed OpenAPI annotations for resources and operations
  • Generate interactive documentation with Swagger UI

Data Access and ORM

  • Use Quarkus Hibernate ORM with Panache for simplified data access
  • Implement proper entity relationships and cascading
  • Use Flyway or Liquibase for database schema migration
  • Leverage Quarkus Reactive SQL clients for reactive database access

Build and Deployment

  • Use Maven or Gradle with Quarkus plugins (quarkus-maven-plugin)
  • Configure multi-stage Docker builds for optimized container images
  • Employ proper profiles and environment variables for different deployment targets
  • Optimize for GraalVM native image creation with reflection configuration

General Best Practices

  • Follow RESTful API design principles
  • Leverage Quarkus for microservices architecture with fast startup and minimal memory usage
  • Implement asynchronous and reactive processing for efficient resource usage
  • Adhere to SOLID principles for high cohesion and low coupling
  • Design for cloud-native deployment (Kubernetes, OpenShift)
BrowserAct

Let your agent run on any real-world website

Bypass CAPTCHA & anti-bot for free. Start local, scale to cloud.

Explore BrowserAct Skills →

Stop writing automation&scrapers

Install the CLI. Run your first Skill in 30 seconds. Scale when you're ready.

Start free
free · no credit card