A desktop application built with Wails3, using a Go backend and a Svelte/TypeScript frontend.
- Go 1.25 or later
- Node.js (LTS) and npm
- Platform build tools:
- macOS: Xcode command line tools (
xcode-select --install) - Windows: WebView2 (usually preinstalled on Windows 10/11). No C compiler is needed — Wails3's Windows backend is pure Go/CGO-free; one would only be required if a future dependency needs cgo.
- Linux:
gtk4andwebkitgtk-6.0development packages (e.g.libgtk-4-dev libwebkitgtk-6.0-devon Ubuntu 24.04+/Debian 13+)
- macOS: Xcode command line tools (
Wails3 is currently in beta. Install the CLI with:
go install github.com/wailsapp/wails/v3/cmd/wails3@v3.0.0-beta.24Confirm it installed correctly:
wails3 versionThen check your environment is set up correctly for Wails development:
wails3 doctorClone the repository and install frontend dependencies:
git clone git@github.com:sillsdev/appbuilder-support-data-collector.git
cd appbuilder-support-data-collector
cd frontend && npm install && cd ..Run the app in development mode with hot reload for both the Go backend and the frontend:
wails3 devTo produce a production build for your current platform:
wails3 buildBuild output is written to build/bin/.
Pushing a v* tag triggers .github/workflows/release.yml, which builds a plain binary natively for Linux (amd64), macOS (arm64 + amd64), and Windows (amd64), then uses goreleaser to attach them to a GitHub Release along with a checksums.txt.
These are unpackaged binaries only, meant to be consumed by Scripture App Builder's own packaging (e.g. its Linux Flatpak, which supplies the GTK4/WebKitGTK 6.0 runtime dependencies) - not installers in their own right. There's no Linux .deb/.rpm/AppImage packaging and no iOS/Android build support, since this app isn't distributed through those channels. A signed macOS .dmg and a Windows installer (via InnoSetup) may be added later if this app needs to be distributed independently of SAB.
A typical Wails3 project is laid out as:
.
├── main.go # Application entry point
├── app.go # App struct and Go methods exposed to the frontend
├── frontend/ # Svelte/TypeScript frontend source
│ ├── src/
│ └── package.json
├── build/ # Platform build assets and output (ignored in git)
└── wails.json # Wails project configuration
This project is licensed under the terms of the LICENSE file.