Generated banner for Create Quarkus Project
Generated logo for Create Quarkus Project

Create Quarkus Project

GitHubOfficialFirst committed by jduboisDistributed by GitHub

  • Skill
  • Tool integration
  • Software development
  • MIT
  • No issues found

From the author

Create a new Quarkus project (Maven or Gradle) with the Quarkus CLI, code.quarkus.io API or Maven plugin, choose extensions, and run it in dev mode. Use when asked to scaffold, bootstrap or start a Quarkus application or REST API.
— the description by jdubois

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

This skill provides a standardized procedure for initializing a new Quarkus project. It covers environment detection, project scaffolding via the Quarkus CLI or Maven plugin, extension selection for common requirements like REST, database access, and security, and the initial setup for development and testing. It emphasizes using recommended LTS streams and provides guidance on project structure and running the application in dev mode.

What it does

  • Detects required Java and build tool versions for Quarkus compatibility.
  • Scaffolds new projects using the Quarkus CLI, Maven plugin, or web-based API.
  • Provides a curated list of essential extensions for REST, ORM, validation, and observability.
  • Explains the standard project layout and how to initiate development mode.
  • Offers guidance on managing project versions and migration paths.
  • Links to essential configuration and containerization references.

When to use it

  • When you need to start a new Quarkus application from scratch.
  • When you are unsure which extensions are required for common tasks like database connectivity or REST APIs.
  • When you need to verify your local environment setup for Quarkus development.
  • When you want to quickly bootstrap a project with specific build tools like Maven or Gradle.

Advantages

  • Ensures projects are initialized with recommended versions and stable LTS streams.
  • Reduces manual setup time by providing ready-to-use CLI and Maven commands.
  • Promotes best practices by suggesting standard extensions for common enterprise needs.
  • Provides immediate access to live-reload and Dev Services features.

Usage examples

“Create a new Quarkus project with REST, PostgreSQL, and Hibernate Panache using Maven.”
The agent provides the specific 'quarkus create' or 'mvn' command with the requested extensions pre-configured.
“How do I add health checks to my existing Quarkus project?”
The agent explains how to use the 'quarkus extension add' command to include the 'smallrye-health' extension.

Install

  1. Download the skill as a ZIP:

    https://mp-staging.autogineer.com/agent-skills/github/create-quarkus-project/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip create-quarkus-project.zip -d .agents/skills

Documentation by jdubois

Create a Quarkus Project

1. Detect the environment

java -version          # Java 17, 21 or 25 (Quarkus 3.40 recommends 25, 3.27 recommends 21)
quarkus --version      # optional Quarkus CLI
./mvnw -v || mvn -v    # or ./gradlew -v

If the folder already contains a Quarkus project (io.quarkus.platform BOM, quarkus-maven-plugin, or io.quarkus Gradle plugin), do NOT scaffold: read its Quarkus version and keep it. For a new project, use the stream marked recommended on https://code.quarkus.io/api/streams (an LTS stream; see also https://quarkus.io/support/), and do not invent a patch version: let the tool pick it. Quarkus 4.0 is still a beta, so do not use it unless asked. If an extension is missing from the recommended stream, the CLI silently picks an older stream; check quarkus.platform.version in the generated build file.

2. Scaffold (pick one)

Quarkus CLI (install via https://quarkus.io/get-started/ , e.g. SDKMAN sdk install quarkus):

quarkus create app com.example:demo \
  --extension='rest-jackson,hibernate-orm-panache,jdbc-postgresql,hibernate-validator,smallrye-health' \
  --java=21 --maven        # or --gradle

No CLI: Maven plugin (pin the version to the current release from https://quarkus.io/guides/maven-tooling, replace QUARKUS_VERSION below with it):

mvn io.quarkus.platform:quarkus-maven-plugin:QUARKUS_VERSION:create \
  -DprojectGroupId=com.example -DprojectArtifactId=demo \
  -Dextensions='rest-jackson,hibernate-orm-panache,jdbc-postgresql' \
  -DbuildTool=maven        # or gradle

Or generate from the https://code.quarkus.io web UI / REST API (https://code.quarkus.io/d?g=com.example&a=demo&e=rest-jackson&b=MAVEN) and unzip.

3. Choose extensions

NeedExtension
REST + JSONrest-jackson (Quarkus REST; not legacy resteasy)
Database ORMhibernate-orm-panache, jdbc-postgresql
Validationhibernate-validator
Health / metricssmallrye-health, micrometer-registry-prometheus
Authoidc or smallrye-jwt
OpenAPIsmallrye-openapi
REST clientrest-client-jackson
Containercontainer-image-jib (or container-image-docker)

Add later with quarkus extension add <name> or ./mvnw quarkus:add-extension -Dextensions=<name>; quarkus extension list --installable lists options.

4. Layout and run

src/main/java/...          # resources, services, entities
src/main/resources/application.properties
src/main/docker/           # Dockerfile.jvm, Dockerfile.native, ...
src/test/java/...          # @QuarkusTest / @QuarkusIntegrationTest
./mvnw quarkus:dev         # or: quarkus dev / ./gradlew quarkusDev

Generated tests include a *IT class that Maven skips by default (<skipITs>true</skipITs> in the template); run it with ./mvnw verify -DskipITs=false or -Dnative. Dev mode gives live reload, Dev UI at http://localhost:8080/q/dev-ui, Dev Services (auto containers), and continuous testing (press r). Package: ./mvnw package (runnable target/quarkus-app/quarkus-run.jar).

References

Verified (scaffold, ./mvnw verify, ./gradlew build, dev mode, Dev Services PostgreSQL, JDK 26 with Java 25 release) on Quarkus 3.40.1 (current recommended LTS stream) and ./mvnw verify on 3.27.6 (older LTS).

Related skills: quarkus-dev-services-and-testing, quarkus-native-and-container.

Upstream sources (read before upgrading)

Fetch the page for the target version; prefer it over this skill when they conflict.

Files

references/security.md

Security basics

OIDC (bearer tokens / Keycloak)

Add quarkus-oidc. In dev/test, Dev Services starts a Keycloak container when quarkus.oidc.auth-server-url is not set.

%prod.quarkus.oidc.auth-server-url=${OIDC_URL}
%prod.quarkus.oidc.client-id=${OIDC_CLIENT_ID}
quarkus.oidc.application-type=service

For web apps with browser login use quarkus.oidc.application-type=web-app. For plain JWT verification without an identity provider flow, use quarkus-smallrye-jwt.

Authorization

@Path("/admin")
@RolesAllowed("admin")
public class AdminResource { ... }

Or path rules:

quarkus.http.auth.permission.secured.paths=/api/*
quarkus.http.auth.permission.secured.policy=authenticated

Requirements and compatibility

Written for: GitHub Copilot

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

Security

No issues found by our static scan· No issues found

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

First committed by
GitHub avatar of jduboisjdubois
Publisher
GitHub (Official)
Distributed by
GitHub
Source
github/awesome-copilot · skills/create-quarkus-project · commit 797337f
Licence
MIT License (redistribution allowed)
  • LICENSE (added by AutoGineer from LICENSE)
  • ATTRIBUTION.md (written by AutoGineer)
Synced
Contributors
jdubois

AutoGineer is not affiliated with or endorsed by jdubois or GitHub.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download create-quarkus-project.zip