Build DevOpsPad from source
To build DevOpsPad yourself, install Go 1.25 or newer, Node.js 22.12 or newer with npm, and the Wails v2.12 CLI with its platform prerequisites. Then run npm ci --prefix frontend and wails build in a clone of the repository.
macOS on Apple silicon is the only verified target. Windows and Linux builds need the Wails dependencies for those platforms and have not been verified; expect to troubleshoot.
Prerequisites
| Tool | Version | Notes |
|---|---|---|
| Go | 1.25+ | |
| Node.js and npm | 22.12+ | |
| Wails CLI | v2.12 | go install github.com/wailsapp/wails/v2/cmd/wails@v2.12.0 |
| macOS | Xcode Command Line Tools | xcode-select --install |
| Windows | WebView2 runtime | |
| Linux | GTK and WebKit development packages | See the Wails installation guide |
Run in development mode
git clone https://github.com/devopspad/devopspad.git
cd devopspad
npm ci --prefix frontend
wails dev
wails dev opens the desktop app with hot reload.
Build the desktop app
wails build
open build/bin/devopspad.app # macOS
A local build is not signed or notarized. Gatekeeper may refuse to open it on another Mac; release builds go through Developer ID signing and Apple notarization in CI.
Build the CLI
go build -o devopspadctl ./cmd/devopspadctl
Or run it without building: go run ./cmd/devopspadctl release validate -f service.release.yaml. See the devopspadctl CLI.
Browser-only UI preview
npm run dev --prefix frontend
# http://127.0.0.1:3415
The preview shows the interface and its empty states only. It has no seeded data and no simulated operations. Testing and saving connections, keychain storage, kubeconfig selection and AI calls all require the Wails desktop app, and there is no unauthenticated network bridge to the Go backend.
Run the checks
npm run build --prefix frontend
go test -race -timeout 60s ./...
go vet ./...
npm run test:e2e --prefix frontend
The end-to-end tests use Playwright with your installed Google Chrome. An integration suite against real MySQL, Redis, MongoDB, Kafka, ClickHouse and K3s runs with python3 tests/integration/run.py; add --keychain to include the macOS keychain.
Where data is stored
A source build uses the same locations as the release: os.UserConfigDir()/DevOpsPad/workspace.json for metadata and the devopspad service in the OS credential store for secrets. On macOS that is ~/Library/Application Support/DevOpsPad/.