Comprehensive developer toolkit providing reusable skills for Java/Spring Boot, TypeScript/NestJS/React/Next.js, Python, PHP, AWS CloudFormation, AI/RAG, DevOps, and more.
82
82%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Risky
Do not use without reviewing
Configuration patterns for native-first Java frameworks with GraalVM Native Image.
Quarkus is designed native-first and requires minimal GraalVM-specific configuration.
# Using Maven (Quarkus Maven plugin handles native build)
./mvnw package -Dnative
# Using Gradle
./gradlew build -Dquarkus.native.enabled=true
# Using Quarkus CLI
quarkus build --native# Build in a container (uses Mandrel/GraalVM image)
./mvnw package -Dnative -Dquarkus.native.container-build=true
# Specify custom builder image
./mvnw package -Dnative \
-Dquarkus.native.container-build=true \
-Dquarkus.native.builder-image=quay.io/quarkus/ubi-quarkus-mandrel-builder-image:jdk-21FROM quay.io/quarkus/ubi-quarkus-mandrel-builder-image:jdk-21 AS builder
COPY --chown=quarkus:quarkus mvnw /code/mvnw
COPY --chown=quarkus:quarkus .mvn /code/.mvn
COPY --chown=quarkus:quarkus pom.xml /code/
COPY --chown=quarkus:quarkus src /code/src
USER quarkus
WORKDIR /code
RUN ./mvnw package -Dnative -DskipTests
FROM quay.io/quarkus/quarkus-micro-image:2.0
WORKDIR /work/
COPY --from=builder /code/target/*-runner /work/application
RUN chmod 775 /work/application
EXPOSE 8080
CMD ["./application", "-Dquarkus.http.host=0.0.0.0"]# Native image build options
quarkus.native.additional-build-args=--no-fallback,-H:+ReportExceptionStackTraces
# Resource inclusion
quarkus.native.resources.includes=templates/**,META-INF/resources/**
# Enable HTTPS support
quarkus.native.enable-https-url-handler=true
# Build memory
quarkus.native.native-image-xmx=8gQuarkus provides annotations to register classes for reflection:
import io.quarkus.runtime.annotations.RegisterForReflection;
@RegisterForReflection
public class MyDto {
private String name;
private int age;
// constructors, getters, setters
}
// Register multiple classes including nested types
@RegisterForReflection(targets = {MyDto.class, OrderDto.class},
serialization = true)
public class ReflectionConfig {
}import io.quarkus.test.junit.QuarkusIntegrationTest;
@QuarkusIntegrationTest
public class NativeMyResourceIT {
@Test
public void testHelloEndpoint() {
given()
.when().get("/hello")
.then()
.statusCode(200)
.body(is("Hello"));
}
}Run native integration tests:
./mvnw verify -DnativeMicronaut uses compile-time dependency injection and AOT processing, making it highly compatible with GraalVM.
# Using Maven
./mvnw package -Dpackaging=native-image
# Using Gradle
./gradlew nativeCompile
# Using Micronaut CLI
mn create-app --build=gradle --jdk=21 --features=graalvm myappplugins {
id("io.micronaut.application") version "4.4.4"
id("org.graalvm.buildtools.native") version "0.10.6"
}
micronaut {
runtime("netty")
testRuntime("junit5")
processing {
incremental(true)
annotations("com.example.*")
}
}
graalvmNative {
binaries {
named("main") {
buildArgs.add("--no-fallback")
}
}
}<plugin>
<groupId>io.micronaut.maven</groupId>
<artifactId>micronaut-maven-plugin</artifactId>
<configuration>
<configFile>aot-${packaging}.properties</configFile>
</configuration>
</plugin>
<profiles>
<profile>
<id>native</id>
<properties>
<packaging>native-image</packaging>
<micronaut.runtime>netty</micronaut.runtime>
</properties>
</profile>
</profiles>Micronaut minimizes reflection, but when needed:
import io.micronaut.core.annotation.ReflectiveAccess;
@ReflectiveAccess
public class MyDto {
private String name;
private int age;
}
// Or use @Introspected for bean introspection (preferred)
import io.micronaut.core.annotation.Introspected;
@Introspected
public class MyDto {
private String name;
private int age;
}In src/main/resources/META-INF/native-image/resource-config.json:
{
"resources": {
"includes": [
{"pattern": "application\\.yml"},
{"pattern": "logback\\.xml"},
{"pattern": "META-INF/.*"}
]
}
}# Using Micronaut Gradle plugin
./gradlew dockerBuildNative
# Multi-stage Dockerfile
FROM ghcr.io/graalvm/native-image-community:21 AS builder
WORKDIR /app
COPY . .
RUN ./gradlew nativeCompile --no-daemon
FROM debian:bookworm-slim
COPY --from=builder /app/build/native/nativeCompile/myapp /app/myapp
EXPOSE 8080
ENTRYPOINT ["/app/myapp"]| Feature | Quarkus | Micronaut |
|---|---|---|
| DI approach | Build-time with ArC | Compile-time with annotation processors |
| Native build command | ./mvnw package -Dnative | ./gradlew nativeCompile |
| Reflection annotation | @RegisterForReflection | @Introspected / @ReflectiveAccess |
| Container build | Built-in container build support | Docker plugin |
| Dev mode | quarkus dev (live reload) | mn run with restart |
| Startup time (native) | ~10-50ms | ~10-50ms |
| Typical RSS | ~20-50MB | ~20-50MB |
| GraalVM version | Mandrel (Red Hat distribution) | GraalVM CE/EE |
plugins
developer-kit-ai
skills
chunking-strategy
prompt-engineering
developer-kit-aws
skills
aws
aws-cli-beast
aws-cost-optimization
aws-drawio-architecture-diagrams
aws-sam-bootstrap
aws-cloudformation
aws-cloudformation-auto-scaling
references
aws-cloudformation-bedrock
references
aws-cloudformation-cloudfront
references
aws-cloudformation-cloudwatch
references
aws-cloudformation-dynamodb
references
aws-cloudformation-ec2
aws-cloudformation-ecs
references
aws-cloudformation-elasticache
aws-cloudformation-iam
references
aws-cloudformation-lambda
references
aws-cloudformation-rds
aws-cloudformation-s3
references
aws-cloudformation-security
references
aws-cloudformation-task-ecs-deploy-gh
aws-cloudformation-vpc
developer-kit-core
skills
developer-kit-java
skills
aws-lambda-java-integration
aws-rds-spring-boot-integration
aws-sdk-java-v2-bedrock
aws-sdk-java-v2-core
aws-sdk-java-v2-dynamodb
aws-sdk-java-v2-kms
aws-sdk-java-v2-lambda
aws-sdk-java-v2-messaging
aws-sdk-java-v2-rds
aws-sdk-java-v2-s3
aws-sdk-java-v2-secrets-manager
graalvm-native-image
langchain4j
langchain4j-mcp-server-patterns
langchain4j-ai-services-patterns
references
langchain4j-mcp-server-patterns
references
langchain4j-rag-implementation-patterns
references
langchain4j-spring-boot-integration
langchain4j-testing-strategies
langchain4j-tool-function-calling-patterns
langchain4j-vector-stores-configuration
references
qdrant
references
spring-ai-mcp-server-patterns
references
spring-boot-actuator
spring-boot-cache
spring-boot-crud-patterns
spring-boot-dependency-injection
spring-boot-event-driven-patterns
spring-boot-openapi-documentation
spring-boot-project-creator
spring-boot-resilience4j
spring-boot-rest-api-standards
spring-boot-saga-pattern
spring-boot-security-jwt
assets
references
scripts
spring-boot-test-patterns
spring-data-jpa
references
spring-data-neo4j
references
unit-test-application-events
unit-test-bean-validation
unit-test-boundary-conditions
unit-test-caching
unit-test-config-properties
unit-test-controller-layer
unit-test-exception-handler
unit-test-json-serialization
unit-test-mapper-converter
unit-test-parameterized
unit-test-scheduled-async
unit-test-service-layer
unit-test-utility-methods
unit-test-wiremock-rest-api
developer-kit-php
skills
aws-lambda-php-integration
developer-kit-python
skills
aws-lambda-python-integration
developer-kit-tools
developer-kit-typescript
skills
aws-lambda-typescript-integration
better-auth
drizzle-orm-patterns
dynamodb-toolbox-patterns
references
nestjs
nestjs-best-practices
nestjs-code-review
nestjs-drizzle-crud-generator
scripts
nextjs-app-router
nextjs-authentication
nextjs-code-review
nextjs-data-fetching
references
nextjs-deployment
nextjs-performance
nx-monorepo
react-code-review
react-patterns
references
shadcn-ui
tailwind-css-patterns
references
tailwind-design-system
references
turborepo-monorepo
typescript-docs
typescript-security-review
zod-validation-utilities