From jdeploy
Create a new Java project from a jDeploy template. Supports Swing, JavaFX, CLI, Spring Boot, Quarkus, MCP servers, and more.
How this skill is triggered — by the user, by Claude, or both
Slash command
/jdeploy:newThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Create a new Java project from a jDeploy template.
Create a new Java project from a jDeploy template.
This skill creates a new Java project using npx jdeploy generate. The generated project is pre-configured for jDeploy distribution with proper build configuration, package.json, and optionally GitHub integration.
Ask the user for the following information:
Template - What kind of app do you want to create?
swing - Traditional Swing desktop application (default)javafx - JavaFX desktop applicationpicocli - Command-line tool with PicoCLIspring-boot-rest - Spring Boot REST API servicespring-boot-mcp-server - Spring Boot MCP serverquarkus-rest - Quarkus REST API servicequarkus-mcp-server - Quarkus MCP serverkotlin-multiplatform - Kotlin multiplatform projectfxgl - FXGL game frameworkFully-qualified main class name - e.g., com.example.myapp.MyApp
App title - Human-readable name (e.g., "My Application")
Parent directory - Where to create the project (default: current directory)
GitHub repository (optional) - Format: username/repo
Construct and execute the command. IMPORTANT: The fully-qualified class name MUST come FIRST, before any flags:
npx jdeploy generate <fully.qualified.MainClass> \
-t <template> \
-d <parent-directory> \
--app-title="<App Title>" \
[--github-repository=<username/repo>]
Examples:
Basic Swing app:
npx jdeploy generate com.example.myapp.MyApp -t swing --app-title="My Desktop App"
JavaFX app in specific directory:
npx jdeploy generate com.mycompany.fxapp.MainApp -t javafx -d ~/projects --app-title="My FX App"
MCP Server with GitHub:
npx jdeploy generate com.myuser.mcptool.MyMcpTool -t spring-boot-mcp-server --app-title="My MCP Tool" --github-repository=myuser/my-mcp-tool
CLI tool:
npx jdeploy generate com.example.cli.MyCli -t picocli --app-title="My CLI"
After the command completes:
ls -la <project-dir>
package.json was created with jDeploy configTell the user:
To build the project:
cd <project-name>
# Maven
mvn clean package
# or Gradle
./gradlew build
To run locally:
npx jdeploy run
To install locally:
npx jdeploy install
To publish:
/jdeploy:publish skillgh release create v1.0.0| Template | Build System | Description |
|---|---|---|
swing | Maven | Classic Swing desktop app with JFrame |
javafx | Maven | Modern JavaFX desktop app |
picocli | Maven | CLI tool with argument parsing |
spring-boot-rest | Maven | Spring Boot REST service |
spring-boot-mcp-server | Maven | Spring Boot MCP server for AI tools |
quarkus-rest | Maven | Quarkus REST service |
quarkus-mcp-server | Maven | Quarkus MCP server for AI tools |
kotlin-multiplatform | Gradle | Kotlin multiplatform project |
fxgl | Maven | Game development with FXGL |
Full argument list for npx jdeploy generate:
| Argument | Short | Description |
|---|---|---|
--template-name | -t | Template to use (default: "swing") |
--project-name | -n | Project directory name |
--app-title | Human-readable app title | |
--group-id | -g | Maven group ID |
--artifact-id | -a | Maven artifact ID |
--package-name | -pkg | Java package name |
--main-class-name | Main class name (short, no package) | |
--parent-directory | -d | Directory to create project in |
--github-repository | GitHub repo (username/repo) | |
--private-repository | Make GitHub repo private |
Note: The positional "magic argument" (fully-qualified class name) can infer most of these automatically.
"Template not found": The template name may be incorrect. List available templates:
npx jdeploy generate --help
"Directory already exists": The project directory already exists. Either:
--use-existing-directory flag (caution: may overwrite files)npm/npx not found: Ensure Node.js is installed:
node --version
npm --version
npx claudepluginhub shannah/jdeploy-claude --plugin jdeployScaffolds a new Spring Boot project from scratch with Maven/Gradle build, package structure, config files, starter entity CRUD feature, and tests using Testcontainers. Use for bootstrapping services or apps.
Assists with Maven for Java: initializes projects, configures pom.xml, manages dependencies and scopes, sets up builds/plugins/profiles, troubleshoots errors.
Scaffolds boilerplate for APIs (FastAPI, Express), web apps (Next.js, Nuxt, SvelteKit), CLI tools, libraries, monorepos with best-practice stacks and directory structures.