Overview
adOmnia is a local‑first desktop toolbox for API development, backend integration, protocol debugging and enterprise workflows. It brings together the tools backend engineers usually keep scattered across many apps: HTTP collections, environments, SOAP/WSDL, gRPC, WebSocket/SSE, broker clients, mock servers, proxy interception, browser debugging, database access, load testing, observability utilities, secret scanning and local workspaces.
No account. No cloud sync. No telemetry. Your data stays on your machine.
Quick start
Clone the repository, install frontend deps, and start the dev server.
# 1. Clone the repository
git clone https://github.com/Andrea-Cavallo/adOmnia.git
cd adOmnia
# 2. Install Node.js dependencies (frontend)
cd frontend && npm install && cd ..
# 3. Start dev server with hot reload
wails dev
# 4. Build a production binary (stripped, no debug info)
wails build -ldflags "-s -w" -trimpath
One‑command build scripts include the right ldflags automatically:
# macOS / Linux
./build.sh
# Windows (PowerShell)
.\build.ps1
Prerequisites
You'll need the following tools installed before building.
| Tool | Version | Purpose |
|---|---|---|
node | 18+ | Frontend toolchain (Vite, React) |
go | 1.21+ | Backend compilation |
wails | v2 | Desktop shell & bundling |
git | any | Source control |
Install Wails once globally:
go install github.com/wailsapp/wails/v2/cmd/wails@latest
Build matrix
Wails does not support cross‑compilation between OS families. Build on the target platform, or use CI/CD when release artifacts are ready. Here's the practical matrix:
| Host → Target | Windows | macOS | Linux AMD64 | Linux ARM64 |
|---|---|---|---|---|
| Windows | ✓ native | — | — | — |
| macOS | — | ✓ native (Intel & ARM) | ✓ Docker | — |
| Linux | — | — | ✓ native | ✓ native |
Windows
- Microsoft C++ Build Tools — install via Visual Studio Build Tools, select “Desktop development with C++”.
- WebView2 — pre‑installed on Windows 11; downloadable for Windows 10.
macOS
xcode-select --install
WebKit is bundled with macOS, no extra dependency needed.
Linux
System dependencies for the most common distros:
# Debian / Ubuntu
sudo apt-get install libgtk-3-dev libwebkit2gtk-4.0-dev \
libayatana-appindicator3-dev librsvg2-dev
# Fedora / RHEL
sudo dnf install gtk3-devel webkit2gtk4.0-devel \
libayatana-appindicator-gtk3-devel librsvg2-devel
# Arch
sudo pacman -S gtk3 webkit2gtk libayatana-appindicator librsvg
Tech stack
adOmnia is intentionally built on a small set of proven, boring technology — favouring portable desktop builds and offline-first behaviour over framework churn.
| Layer | Technology | Why |
|---|---|---|
| Desktop shell | Wails 2 | Native window, system WebView, no Electron bundle. |
| Backend | Go | Concurrency, single static binary, strong stdlib networking. |
| Frontend | React 18 + TypeScript + Vite | Mature UI ecosystem, fast dev loop, strict types. |
| State | Zustand | Minimal store API, no boilerplate. |
| Styling | Tailwind CSS + theme tokens | Utility‑first + CSS custom properties for themes. |
| Storage | bbolt + workspace files | ACID embedded key‑value, no external DB. |
| Plugins | WASM + Python SDK (gRPC) | Sandboxed, language‑agnostic extensibility. |
| Distribution | Portable desktop binary | Build locally today; release artifacts can be published from GitHub later. |
Project structure
The repository follows a practical layout that keeps the main product areas visible from the root.
.
├── main.go # Wails entry point
├── app.go # app lifecycle & desktop bindings
├── server.go # local HTTP sidecar
├── mock.go # mock server
├── proxy.go / proxy_*.go # proxy, traffic, CA, rules, export
├── browser_debug*.go # Chrome DevTools Protocol integration
├── kafka.go / broker.go # Kafka and multi‑broker workflows
├── grpc.go # gRPC backend
├── loadtest.go # load testing engine
├── database_go.go # database integrations
├── dockerlab.go # Docker Lab generator and runner
├── themes*.go # theme and skin system
├── plugins*.go # WASM plugin sandbox
├── python_*.go # Python plugin bridge
├── frontend/ # React application
├── assets/images/ # product artwork and icons
├── docker/adomnia-lab/ # local demo lab
├── workspaces/ # sample .adomnia workspaces
└── docs/ # product, build, roadmap, feature docs
Workspaces
adOmnia uses portable .adomnia workspace files. They are plain JSON — keep them in Git, share them with your team, drop them in chats.
- Export/import from the Workspace panel.
- Drag & drop
.json,.yaml,.ymlor.adomniafiles anywhere in the app to import instantly. - Import from Postman, Insomnia, Bruno, OpenAPI and other adOmnia workspaces.
- Each workspace bundles collections, environments, active env, mock config, proxy config and flows.
Security & privacy
adOmnia is designed for local and regulated workflows.
- No telemetry.
- No required cloud account.
- No hidden network sync.
- Secrets and workspaces stay local unless you explicitly export or send them.
- Script execution and certificate trust should be reviewed like any developer tool with local power.
Contributing
High‑quality contributions are welcome. The best changes improve the real product experience: clearer workflows, better UI cohesion, stronger local‑first behaviour, safer integrations, better documentation.
- Read
AGENTS.mdandCLAUDE.mdfor project conventions. - Check the roadmap and open issues before starting larger work.
- Keep changes focused and product‑oriented.
- Run the relevant checks before opening a pull request.
- Document user‑facing behaviour changes.
License
adOmnia is released under the MIT License. Developed by Andrea Cavallo.