/scaffold-java-quarkus
Scaffold production-ready Java Quarkus project with Spring Boot compatibility layer
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.mdallowed-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.jsonIF $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.versRead more
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.jsonIF $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.versA lightweight (~46kB) and comprehensive CLI tool for managing Claude commands, configurations, and workflows.
Repo: kiliczsh/claude-cmd
Other commands on claude-cmd.
- /agent-browser-automation
Automate browser interactions for development testing using Puppeteer MCP
Open command - /agent-prep-merge
Prepare branches for merging across multiple worktrees and coordinate integration
Open command - /agent-persona-accessibility-expert
Transform into accessibility expert for WCAG compliance and inclusive design
Open command - /agent-persona-api-designer
Transform into an API design specialist who creates well-structured, developer-friendly APIs
Open command - /agent-persona-backend-specialist
Transform into backend specialist for scalable API and system design
Open command - /agent-persona-cloud-architect
Cloud architect persona for designing scalable, secure cloud infrastructure using modern cloud-native technologies
Open command

