Documentation

Get from git clone to running app in five minutes.

Build and contribution notes for adOmnia. Multi‑platform desktop app — Go + Wails 2 backend, React 18 + TypeScript frontend, packaged as a portable desktop binary.

Go 1.21+ Node.js 18+ Wails 2 React 18 + TS Vite MIT License

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.

Why local‑first? Workspaces, settings, logs, vaults, templates and app data are stored locally. No required cloud account, no remote dependency for normal work. Secrets and workspaces stay local unless you explicitly export or send them.

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.

ToolVersionPurpose
node18+Frontend toolchain (Vite, React)
go1.21+Backend compilation
wailsv2Desktop shell & bundling
gitanySource 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.

LayerTechnologyWhy
Desktop shellWails 2Native window, system WebView, no Electron bundle.
BackendGoConcurrency, single static binary, strong stdlib networking.
FrontendReact 18 + TypeScript + ViteMature UI ecosystem, fast dev loop, strict types.
StateZustandMinimal store API, no boilerplate.
StylingTailwind CSS + theme tokensUtility‑first + CSS custom properties for themes.
Storagebbolt + workspace filesACID embedded key‑value, no external DB.
PluginsWASM + Python SDK (gRPC)Sandboxed, language‑agnostic extensibility.
DistributionPortable desktop binaryBuild 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, .yml or .adomnia files 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.
Vault. The encrypted vault uses scrypt key derivation + age encryption, supports X25519 identity, and auto‑locks after a configurable inactivity timeout.

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.

  1. Read AGENTS.md and CLAUDE.md for project conventions.
  2. Check the roadmap and open issues before starting larger work.
  3. Keep changes focused and product‑oriented.
  4. Run the relevant checks before opening a pull request.
  5. Document user‑facing behaviour changes.

License

adOmnia is released under the MIT License. Developed by Andrea Cavallo.

Looking for the source? The Go backend, React frontend, docs and workspace examples live at github.com/Andrea-Cavallo/adOmnia.