Status: in development. The desktop shell builds (Tauri v2) and mounts the engine; the engine's exact per-feature Postman coverage is hand-assessed conservatively in the zreq-core port report (a generator that can only flag overclaims, never inflate). This page describes the architecture and roadmap.
What zreq is
zreq is a from-scratch desktop API client (Postman port) written in Rust. The desktop shell is a Tauri v2 application with a cyberpunk HUD front-end and, alongside the API client, an embedded terminal, a file browser, a stryke hooks editor with its own language server, a clip sequencer, and an in-process system monitor. The API-client logic is factored out into a separate, embeddable engine, zreq-core, so the same engine can be reused inside the other MenkeTechnologies GUI apps without dragging GUI or platform dependencies into them. It is a paid product, created by MenkeTechnologies.
Two-layer split
| layer | repository | responsibility |
|---|---|---|
| desktop app | zreq (this repo) | Tauri v2 shell, cyberpunk HUD front-end, embedded terminal, file browser, stryke hooks editor + language server, clip sequencer, in-process system monitor, action-to-engine wiring |
| API engine | zreq-core | embeddable API-client logic (collections, requests, environments, auth, HTTP, history, codegen, import/export), decoupled from any GUI |
How the shell mounts the engine
The host registers the engine's single Tauri command and event sink, and serves the engine's mountable webui. The WebView calls one JSON command surface; all HTTP egress happens in Rust, not the WebView.
tauri::Builder::default()
.invoke_handler(tauri::generate_handler![zreq_core::tauri_plugin::zrq_invoke, /* terminal cmds */])
.setup(|app| { zreq_core::tauri_plugin::setup(app.handle())?; Ok(()) })
.run(tauri::generate_context!())
Roadmap
Directions for the desktop layer. Per-feature engine coverage is in the zreq-core port report, not duplicated here.
| area | status | notes |
|---|---|---|
| Tauri v2 shell | implemented | desktop window, IPC bridge, engine + embedded-terminal commands wired |
| zreq-core integration | implemented | mounts the embeddable engine + its webui as the single source of API-client logic |
| Cyberpunk HUD UI | implemented | shared MenkeTechnologies HUD design language (this docs site uses it) |
| Command palette / i18n | implemented | ZGui palette + native menu bar; the shared zpwr-i18n catalog is synced into the served frontend before each dev/build and selectable from Settings |
| Collection runner | implemented in engine | runner.run — runs a collection's requests in order, once per data-file iteration (JSON or CSV rows) |
| Causal Session Replay | implemented in engine | session.record / provenance / blastradius / counterfactual; the recording persists beside the workspace |
| Stryke hooks | implemented | hooks editor window (open_hooks_editor, ⌘⇧H / dashboard tile / palette), the run_stryke_hook + run_bash runners, and a stryke language server over stryke_lsp_start / _send / _stop |
| File browser | implemented | the zpwr-file-browser crate mounted as fs_* commands — listing, info, grep, diff, duplicate-find, hashing, xattrs, compress/extract, chmod, secure delete, git status |
| Clip sequencer | implemented | the shared zpwr-clip-engine mounted as clip_seq_pattern / _transport / _play / _step / _poll_events / _export_midi |
| System stats | implemented | zwire-host linked in-process for the HUD's live system monitor — no native-messaging hop |
| Request cancellation | planned | tracked in the zreq-core port report as missing |
Documentation
For the project overview see the home page. The engine is tracked in its own repository, zreq-core, with its Postman port report.