Skip to main content
skill CX Codex

java-quarkus-development — Claude Code skill: setup and usage

Development guidelines for building Quarkus microservices. It directs the coding agent to handle reactive endpoints, Panache data access, and GraalVM native builds.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add Mindrally/skills --skill java-quarkus-development -a claude-code
Open on GitHub

What java-quarkus-development does

This skill guides coding assistants through Quarkus development patterns. It focuses on RESTEasy Reactive for HTTP APIs, paired with Mutiny for non-blocking execution. For persistence, the instructions direct the model toward Hibernate ORM with Panache using either the active record or repository pattern. Database migrations rely on Flyway or Liquibase.

Native image creation via GraalVM requires strict limits on reflection. The instructions explicitly enforce @RegisterForReflection only when needed, avoiding reflection-heavy structures that break ahead-of-time builds. Constructor injection remains the preferred CDI approach.

Application telemetry follows MicroProfile specifications. The agent writes readiness and liveness checks for Kubernetes probes, alongside Prometheus metrics export.

What it helps with

  • Build reactive REST endpoints using Mutiny and RESTEasy Reactive
  • Implement database models with Hibernate ORM with Panache
  • Prepare Quarkus applications for GraalVM native image compilation
  • Configure health probes and Prometheus metrics via MicroProfile

Example prompts for the agent

  • Generate a reactive Quarkus endpoint for user registration with request validation
  • Create a Product entity extending PanacheEntity with custom find queries
  • Set up a multi-stage Dockerfile for a GraalVM native Quarkus image

How to install java-quarkus-development

1Skills CLI (Vercel)

npx skills add Mindrally/skills --skill java-quarkus-development -a claude-code

2Manually: put the files in place

~/.claude/skills/java-quarkus-development/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/java-quarkus-development/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about java-quarkus-development

How to install java-quarkus-development in Claude Code?

Run npx skills add Mindrally/skills --skill java-quarkus-development -a claude-code in your terminal. This imports the guidelines directly into your agent setup.

What does the java-quarkus-development skill do?

It provides coding guidelines for Quarkus, ensuring proper use of Panache, CDI bean discovery, and Mutiny primitives.

How does this skill handle GraalVM native image issues?

It instructs the agent to avoid reflection-heavy patterns and register necessary classes using @RegisterForReflection.

Source text

SKILL.md · Apache-2.0
---
name: java-quarkus-development
description: Java Quarkus development guidelines for building cloud-native applications with fast startup, minimal memory footprint, and GraalVM native builds
metadata:
  maintainer: Mindrally
  source: https://github.com/Mindrally/skills
---

# Java Quarkus Development Best Practices

## Core Principles

- Write clean, efficient, and well-documented Java code using Quarkus best practices
- Focus on fast startup and minimal memory footprint via GraalVM native builds
- Leverage Quarkus extensions for common functionality
- Design for containerized and serverless deployments
- Follow SOLID principles and microservices architecture patterns

## Development Workflow

### Quarkus Dev Mode
- Use `quarkus dev` for rapid iteration with live reload
- Leverage continuous testing during development
- Use Dev UI for debugging and configuration inspection
- Take advantage of Dev Services for local development

## Configuration

### Type-Safe Configuration
- Use `@ConfigProperty` for type-safe configuration injection
- Group related configs with `@ConfigMapping` interfaces
- Validate configuration at startup
- Document configuration properties

### Profile-Based Configuration
- Use `%dev`, `%test`, `%prod` prefixes for environment-specific configs
- Override configs via environment variables in production
- Keep sensitive values out of source control
- Use `.env` files for local development

## Dependency Injection

### CDI Annotations
- Use `@Inject` for dependency injection
- Use `@Named` to qualify implementations
- Use `@Singleton`, `@ApplicationScoped`, `@RequestScoped` appropriately
- Prefer constructor injection for required dependencies

### Bean Discovery
- Understand Quarkus build-time bean discovery
- Use `@IfBuildProfile` for conditional beans
- Avoid reflection-heavy patterns for native builds

## REST API Development

### RESTEasy Reactive
- Use `@Path`, `@GET`, `@POST`, etc. for endpoint definitions
- Return proper HTTP status codes
- Use `@Valid` for input validation
- Implement exception mappers for consistent error responses

### Reactive Patterns
- Use Mutiny for reactive programming
- Leverage `Uni` and `Multi` for async operations
- Combine reactive with imperative code where appropriate

## Data Access

### Hibernate ORM with Panache
- Use Panache for simplified JPA patterns
- Leverage Active Record or Repository patterns
- Use `PanacheEntity` for entities with built-in operations
- Implement custom queries with `find` and `list` methods

### Database Operations
- Use Flyway or Liquibase for migrations
- Configure connection pooling with Agroal
- Use reactive database clients for non-blocking I/O

## Testing

### JUnit 5 Integration
- Use `@QuarkusTest` for integration tests
- Use `@QuarkusIntegrationTest` for native image tests
- Leverage test profiles for different configurations

### REST Endpoint Testing
- Use rest-assured for endpoint testing
- Test both success and error scenarios
- Verify response bodies and status codes
- Test authentication and authorization

## Performance Optimization

### Native Image Optimization
- Build native images with GraalVM for production
- Test native builds regularly during development
- Use `@RegisterForReflection` when needed
- Minimize reflection usage

### Memory and Startup
- Monitor memory usage in containers
- Optimize for serverless cold starts
- Use lazy initialization where appropriate

## Observability

### Health Checks
- Use MicroProfile Health for liveness and readiness probes
- Implement custom health checks for dependencies
- Configure Kubernetes probes based on health endpoints

### Metrics
- Use MicroProfile Metrics for application metrics
- Export metrics in Prometheus format
- Add custom metrics for business operations

### Distributed Tracing
- Use OpenTracing/OpenTelemetry integration
- Propagate trace context across services
- Configure sampling appropriately for production

## Security

- Use Quarkus Security extensions
- Implement authentication with OIDC or JWT
- Configure CORS for web clients
- Validate and sanitize all inputs
- Use HTTPS in production

## Containerization

- Use Quarkus container image extensions
- Build multi-stage Dockerfiles for native images
- Configure resource limits appropriately
- Use distroless or minimal base images

© Mindrally · Apache-2.0 · Mindrally/skills

Similar skills

All skills for Backend and APIs →

From the same set214

performance-optimization A rule set for web performance: server-side rendering, CSS, JavaScript, assets and caching. Useful when your agent writes frontend code and you want a bar to hold it to. CX Codex +1 848installs sass-best-practices A skill that hands your agent a rulebook for indented-syntax Sass: file layout, variables, mixins, BEM. Useful when the project stylesheets are .sass, not SCSS. CX Codex +1 845installs nextjs-react-redux-typescript-cursor-rules Development guidelines for Next.js, React, Redux Toolkit, and TypeScript. Enforces Server Component defaults, strict typing, and specific code style standards. CX Codex +1 842installs pytorch Guides AI coding agents through building PyTorch architectures, fine-tuning Hugging Face transformers, running diffusion models, and optimizing GPU memory. CX Codex +1 839installs elixir A skill that tells your coding agent how to write Elixir and Phoenix: functional patterns, Ecto, LiveView, OTP. Useful when the project actually runs on BEAM. CX Codex +1 836installs nuxtjs-vue-typescript Coding guidelines for Nuxt 3 and Vue 3 projects using TypeScript and Tailwind CSS. Guides component typing, composables, and Nitro server endpoints. CX Codex +1 834installs spring-boot A skill that gives your agent Spring Boot conventions: REST controllers, JUnit tests, security, build and deploy. Useful when the project is Java. CX Codex +1 832installs responsive-design A skill that hands your coding agent a set of responsive design rules: mobile-first CSS, flexible layouts, media queries, adaptive images and type. CX Codex +1 830installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor