A desktop tool for automating patch creation (application patches, micro patches, task-based patches).
- Build ZIP patches from a prototype
- Automatically update versions
- Perform impact analysis based on commits
- Generate notifications (email / Matrix)
- Publish patches to Nexus
- Go 1.22+
- Node.js 18+
- Wails CLI
Install Wails:
go install github.com/wailsapp/wails/v2/cmd/wails@latestwails devThis will:
- Install frontend dependencies (Vite + React)
- Generate Go ↔ JS bindings
- Launch the desktop app
wails buildOutput:
build/bin/PatchCraft
wails build -platform windows/amd64Output:
build/bin/PatchCraft.exe
PatchCraft-v1.0.0-linux/
│
├── PatchCraft
├── config.yaml
├── work/
└── patches/
PatchCraft-v1.0.0-windows/
│
├── PatchCraft.exe
├── config.yaml
├── work/
└── patches/
Example config.yaml:
repo-dir: /path/to/repo
mail:
smtp-host: smtp.example.com
smtp-port: 587
username: YOUR_USER
password: YOUR_PASSWORD
from: sender@example.com
to: recipient@example.com
nexus:
url: https://your-nexus-url
repository: patch
username: YOUR_USER
password: YOUR_PASSWORD
jira:
base-url: https://your-jira
auth:
username: YOUR_USER
password: YOUR_PASSWORD
matrix:
webhook:
app-patch: YOUR_URL
micro-patch: YOUR_URL- Detects next patch version
- Builds patch URLs
-
Based on commit hashes
-
Determines:
- Changed files
- Required JARs
- Descriptor updates
-
Updates:
- versions
- SQL scripts (patch_.sql)
-
Produces final archive
- Email (HTML templates)
- Matrix (text messages)
- Uploads patches to repository
React (UI)
↓
Wails bindings
↓
Go backend
↓
Services:
- MicroPatch
- MicroTask
- Impact
- Single binary (no JVM required)
- No external runtime
- Fast startup
- Easy distribution
