Create Quarkus Project
GitHubOfficialFirst committed by jduboisDistributed by GitHub
- Skill
- Tool integration
- Software development
- MIT
- No issues found
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
Download the skill as a ZIP:
https://autogineer.com/agent-skills/github/create-quarkus-project/downloadUnzip 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 -vIf 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 --gradleNo 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 gradleOr 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
| Need | Extension |
|---|---|
| REST + JSON | rest-jackson (Quarkus REST; not legacy resteasy) |
| Database ORM | hibernate-orm-panache, jdbc-postgresql |
| Validation | hibernate-validator |
| Health / metrics | smallrye-health, micrometer-registry-prometheus |
| Auth | oidc or smallrye-jwt |
| OpenAPI | smallrye-openapi |
| REST client | rest-client-jackson |
| Container | container-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 quarkusDevGenerated 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.
quarkus update(automated upgrade, uses OpenRewrite): https://quarkus.io/guides/update-quarkusMigration guides, one wiki page per minor: https://github.com/quarkusio/quarkus/wiki/Migration-Guide-3.20 (change the version)
Release announcements: https://quarkus.io/blog/
LTS policy and current LTS: https://quarkus.io/blog/lts-releases/
Files
- ATTRIBUTION.mdAdded by AutoGineer875 B
- LICENSELicence file added by AutoGineer1.0 KiB
- SKILL.md4.4 KiB
- references/configuration.md1.2 KiB
- references/container-image.md1.3 KiB
- references/database.md2.9 KiB
- references/local-runtime-insights.md696 B
- references/security.md744 B
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
jdubois
- 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