jDeploy Plugin for Claude Code
A Claude Code plugin for creating and publishing cross-platform Java desktop applications with jDeploy.
Installation
Step 1: Add the Marketplace
/plugin marketplace add shannah/jdeploy-claude
Step 2: Install the Plugin
/plugin install jdeploy@jdeploy-marketplace
Step 3: Verify Installation
The following skills should now be available:
/jdeploy:setup
/jdeploy:new
/jdeploy:run
/jdeploy:install
/jdeploy:publish
/jdeploy:configure
Updating the Plugin
To get the latest version:
/plugin update jdeploy@jdeploy-marketplace
Or enable auto-updates:
- Run
/plugin
- Go to Marketplaces tab
- Select
jdeploy-marketplace
- Enable auto-update
Available Skills
/jdeploy:new - Create a New Project
Creates a new Java project from a template, fully configured for jDeploy.
Usage:
/jdeploy:new
Claude will ask you for:
- Project template (Swing, JavaFX, CLI, MCP server, etc.)
- Main class name (e.g.,
com.example.myapp.MyApp)
- App title
- Parent directory
Available Templates:
| Template | Description |
|---|
swing | Traditional Swing desktop app |
javafx | Modern JavaFX desktop app |
picocli | Command-line tool with argument parsing |
spring-boot-rest | Spring Boot REST API |
spring-boot-mcp-server | Spring Boot MCP server for AI tools |
quarkus-rest | Quarkus REST API |
quarkus-mcp-server | Quarkus MCP server for AI tools |
kotlin-multiplatform | Kotlin multiplatform project |
fxgl | FXGL game framework |
Example:
/jdeploy:new
> Template: javafx
> Main class: com.example.myapp.MyApp
> App title: My Desktop App
> Directory: ~/projects
/jdeploy:setup - Configure Existing Project
Configures an existing Java project for jDeploy distribution.
Usage:
/jdeploy:setup
This will:
- Detect your build system (Maven or Gradle)
- Identify app type (GUI, CLI, service, MCP server)
- Configure JAR packaging with dependencies
- Create
package.json with jDeploy settings
- Find and configure an application icon
- Add GUI fallback for non-GUI apps
- Optionally set up GitHub Actions workflow
When to use:
- You have an existing Java project you want to distribute
- You want to create native installers for your app
- You want to publish to npm or GitHub
/jdeploy:run - Build and Run Locally
Builds your project and runs it exactly as end users would experience it.
Usage:
/jdeploy:run
This will:
- Build your project (Maven or Gradle)
- Run via
npx jdeploy run
- Use the correct JRE version from your config
- Bundle JavaFX if configured
With arguments:
/jdeploy:run
> Pass these args: --config myconfig.json
/jdeploy:install - Install Locally
Installs your app locally for full testing, including desktop shortcuts and PATH integration.
Usage:
/jdeploy:install
This will:
- Build your project
- Run
npx jdeploy install
- Create desktop shortcuts
- Add CLI commands to PATH
After installation, you can launch your app from the Start menu (Windows), Applications folder (macOS), or command line.
/jdeploy:publish - Publish Your App
Publishes your application so users can install it.
Usage:
/jdeploy:publish
Publish Targets:
| Target | Description |
|---|
| GitHub (Recommended) | Creates native installers (.exe, .dmg, .deb) via GitHub Actions. Users download from your releases page. |
| npm | Publishes to npm registry. Users install with npm install -g <package>. |
The skill remembers your choice in .jdeploy/config.json for future publishes.
GitHub Publishing Flow:
- Verifies git repo and remote
- Creates/verifies GitHub Actions workflow
- Bumps version if needed
- Creates a GitHub release
- GitHub Actions builds native installers automatically
npm Publishing Flow:
- Verifies npm login
- Builds the project
- Runs
npm publish
/jdeploy:configure - Configure App Settings
Configures various jDeploy settings for your application through a guided interface.
Usage:
/jdeploy:configure
Available Configuration Options:
| Option | Description |
|---|
| Splash screen & icon | Set splash.png, loading.png, and icon.png |
| Java runtime | Version, JDK vs JRE, JavaFX, JetBrains Runtime |
| Commands & services | CLI commands, service controllers |
| Helper actions | System tray menu items |
| MCP server | AI tool integration |
| File associations | Register file extensions (documentTypes) |
| URL protocols | Custom URL schemes (urlSchemes) |
| Singleton mode | Single-instance with deep linking |
| Permissions | macOS permission requests |
| Run as admin | Elevated privileges |
Example:
/jdeploy:configure