Getting Started
Build
Full build (TUI + headless)
mvn -q -DskipTests package
# or: just build
# or: ./mvnw -DskipTests package
This creates target/quarkus-forge.jar.
Headless-only build
mvn -q clean package -Pheadless
# or: just build-headless
# or: ./mvnw clean package -Pheadless
This creates target/quarkus-forge-headless.jar — a smaller jar without TUI/terminal dependencies, ideal for CI pipelines and containers.
A justfile is included with common recipes. Run just to see all available commands. A Maven Wrapper (./mvnw) is also included — no global Maven install required.
|
Choose Your Mode
TUI mode (interactive):
java --enable-native-access=ALL-UNNAMED -jar target/quarkus-forge.jar
--enable-native-access=ALL-UNNAMED suppresses Panama FFM warnings from the TamboUI terminal backend.
|
Headless mode (automation/CI):
java -jar target/quarkus-forge-headless.jar generate \
--group-id org.acme \
--artifact-id demo \
--build-tool maven \
--java-version 25 \
--preset web \
--extension io.quarkus:quarkus-smallrye-health
The full jar (quarkus-forge.jar) also supports the generate subcommand. The headless-only jar is preferred for CI/containers as it carries no TUI or terminal dependencies.
|
Deterministic replay with a Forgefile:
java -jar target/quarkus-forge-headless.jar generate --from Forgefile
Save a reusable template in the machine-local recipes library:
java -jar target/quarkus-forge-headless.jar generate \
--dry-run \
--group-id org.acme \
--artifact-id demo \
--build-tool maven \
--java-version 25 \
--save-as starter.json
Install With JBang
Run directly from the org catalog:
jbang quarkus-forge@ayagmar
Run the headless-only version (no TUI dependencies):
jbang quarkus-forge-headless@ayagmar generate \
--group-id org.acme \
--artifact-id demo
Install as a local command:
jbang app install --name quarkus-forge quarkus-forge@ayagmar
quarkus-forge