Skip to content
Development
Command

/scaffold-java-quarkus

Scaffold production-ready Java Quarkus project with Spring Boot compatibility layer

From plugin
claude-cmd
313180 skills180 commands

How it fires

How this command gets triggered: by you, by Claude, or both.

  • Fires itselfClaude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/scaffold-java-quarkus

Context preview

What this command does when you run it.

Scaffold production-ready Java Quarkus project with Spring Boot compatibility layer

Command definition

scaffold-java-quarkus.md
allowed-tools: Write, MultiEdit, Bash(mvn:*), Bash(mkdir:*), Bash(fd:*), Bash(rg:*), Bash(gdate:*), Bash(pwd:*), Bash(eza:*)
name: "Scaffold Java Quarkus"
description: "Scaffold production-ready Java Quarkus project with Spring Boot compatibility layer"
author: "wcygan"
tags: ["scaffold","java"]
version: "1.0.0"
created_at: "2025-07-14T00:00:00Z"
updated_at: "2025-07-14T00:00:00Z"

Context

  • Session ID: !`gdate +%s%N 2>/dev/null || date +%s%N 2>/dev/null || echo "$(date +%s)$(jot -r 1 100000 999999 2>/dev/null || shuf -i 100000-999999 -n 1 2>/dev/null || echo $RANDOM$RANDOM)"`
  • Current directory: !`pwd`
  • Project name: $ARGUMENTS
  • Java version check: !`java -version 2>&1 | head -1 || echo "Java not installed"`
  • Maven status: !`mvn -version 2>&1 | head -1 || echo "Maven not installed"`
  • Existing Java projects: !`fd "pom\.xml" . -d 2 | head -5 || echo "No existing Maven projects detected"`
  • Available disk space: !`df -h . | tail -1 | awk '{print $4}' || echo "Unknown"`

Your Task

STEP 1: Initialize Quarkus project scaffolding session with validation

TRY:

  • VALIDATE project name from $ARGUMENTS
  • CHECK Java and Maven prerequisites
  • ENSURE target directory is available
  • CREATE session state file: `/tmp/quarkus-scaffold-$SESSION_ID.json`
# Validate prerequisites
if ! command -v java >/dev/null 2>&1; then
  echo "❌ Java is required but not installed"
  exit 1
fi

if ! command -v mvn >/dev/null 2>&1; then
  echo "❌ Maven is required but not installed"
  exit 1
fi

# Initialize session state
project_name="${ARGUMENTS:-quarkus-spring-app}"
echo '{
  "sessionId": "'$SESSION_ID'",
  "projectName": "'$project_name'",
  "targetDirectory": "./'$project_name'",
  "timestamp": "'$(gdate -Iseconds 2>/dev/null || date -Iseconds)'",
  "phase": "initializing"
}' > /tmp/quarkus-scaffold-$SESSION_ID.json

IF $ARGUMENTS is empty:

  • SET project_name = "quarkus-spring-app"
  • WARN user about default naming

IF directory already exists:

  • ERROR: "Project directory '$project_name' already exists"
  • EXIT gracefully

STEP 2: Create standardized Maven directory structure

EXECUTE directory creation with proper Maven layout:

# Create Maven standard directory layout
mkdir -p "$project_name"/{src/{main/{java,resources},test/java},target}
mkdir -p "$project_name/src/main/java/com/example/demo"
mkdir -p "$project_name/src/test/java/com/example/demo"

# Update session state
jq '.phase = "structure_created"' /tmp/quarkus-scaffold-$SESSION_ID.json > /tmp/temp.json && \
mv /tmp/temp.json /tmp/quarkus-scaffold-$SESSION_ID.json

**Standard Maven Directory Structure:**

  • `src/main/java/` - Main application source code
  • `src/main/resources/` - Configuration files and static resources
  • `src/test/java/` - Test source code
  • `target/` - Build output directory

STEP 3: Generate Quarkus Maven POM with Spring compatibility

CREATE comprehensive pom.xml with Quarkus BOM and Spring extensions:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
         https://maven.apache.org/xsd/maven-4.0.0.xsd">
    
    <modelVersion>4.0.0</modelVersion>
    
    <groupId>com.example</groupId>
    <artifactId>$project_name</artifactId>
    <version>1.0.0-SNAPSHOT</version>
    <packaging>jar</packaging>
    
    <name>$project_name</name>
    <description>Quarkus application with Spring Boot compatibility</description>
    
    <properties>
        <maven.compiler.source>21</maven.compiler.source>
        <maven.compiler.target>21</maven.compiler.target>
        <maven.compiler.release>21</maven.compiler.release>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <quarkus.platform.version>3.17.5</quarkus.platform.version>
        <surefire-plugin.version>3.2.5</surefire-plugin.version>
        <failsafe-plugin.version>3.2.5</failsafe-plugin.version>
    </properties>
    
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>io.quarkus.platform</groupId>
                <artifactId>quarkus-bom</artifactId>
                <version>${quarkus.platform.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    
    <dependencies>
        <!-- Quarkus Spring Web compatibility -->
        <dependency>
            <groupId>io.quarkus</groupId>
            <artifactId>quarkus-spring-web</artifactId>
        </dependency>
        
        <!-- Core Quarkus extensions -->
        <dependency>
            <groupId>io.quarkus</groupId>
            <artifactId>quarkus-resteasy-reactive-jackson</artifactId>
        </dependency>
        
        <dependency>
            <groupId>io.quarkus</groupId>
            <artifactId>quarkus-arc</artifactId>
        </dependency>
        
        <!-- Spring Boot compatibility layer -->
        <dependency>
            <groupId>io.quarkus</groupId>
            <artifactId>quarkus-spring-boot-properties</artifactId>
        </dependency>
        
        <dependency>
            <groupId>io.quarkus</groupId>
            <artifactId>quarkus-spring-di</artifactId>
        </dependency>
        
        <!-- Development and testing -->
        <dependency>
            <groupId>io.quarkus</groupId>
            <artifactId>quarkus-junit5</artifactId>
            <scope>test</scope>
        </dependency>
        
        <dependency>
            <groupId>io.rest-assured</groupId>
            <artifactId>rest-assured</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
    
    <build>
        <plugins>
            <plugin>
                <groupId>io.quarkus.platform</groupId>
                <artifactId>quarkus-maven-plugin</artifactId>
                <version>${quarkus.platform.vers
Read more
Ships withclaude-cmd

A lightweight (~46kB) and comprehensive CLI tool for managing Claude commands, configurations, and workflows.

Get the whole plugin