ZFTP // ENGINEERING REPORT

// app/engine split · build layout · front-end surface · roadmap

Home Engine

zftp is in active development. This page describes the repository as it stands: the two-layer app/engine split, the build layout and the front-end surface. The roadmap column marks each area as implemented or planned against the code as it stands — it is not a claim of coverage beyond the codebase. Nothing here claims a working capability that is not yet in the codebase.

Two-layer split

layerrepositoryresponsibility
desktop appzftp (this repo)Tauri v2 shell, cyberpunk HUD front-end, action-to-engine wiring, embedded terminal
transfer enginezftp-corebookmark + URL/.duck parsing, session manager, transport backends, transfer queue, logs, stats — decoupled from any GUI

Build layout

pathrole
app/src-taurithin Tauri host: registers zftp_invoke + terminal commands; setup mounts the engine
crates/zftp-corethe embeddable file-transfer engine (submodule, tauri feature)
crates/zpwr-embed-terminalshared embedded PTY terminal (submodule)
crates/zpwr-i18nshared i18n runtime (submodule)
frontendapp shell; webui/terminal/i18n assets synced from the submodules before each dev/build
scriptsclean · bust · rebuild · nuke (cyberpunk-styled, ported from Audio-Haxor)

Front-end surface

The HUD (mounted from zftp-core/webui) renders a bookmark list with live status dots, a connect/disconnect action, a remote-file browser with a name filter, a transfer queue with per-transfer progress, a live log viewer, a connect-to-server modal (enter a scheme://user@host/path URL), a command palette, and the shared embedded terminal. It drives the engine entirely through invoke('zftp_invoke', { cmd, args }) and listens for zftp-event; all wiring is CSP-safe (no inline handlers).

Roadmap

areastatus
App shell + HUD + engine wiringimplemented
Bookmark model + URL/.duck importimplemented in engine
Session manager + transfer queue + logs + throughputimplemented in engine
Local-filesystem transport (browse + transfer)implemented in engine
Network transports (FTP/FTPS/SFTP/WebDAV, plus SCP)implemented in engine (default net feature; OpenDAL + russh)
Cloud object stores (S3/GCS/Azure/B2/Swift/Drive/Dropbox/OneDrive/Box)implemented in engine (OpenDAL backends)
Keychain credentials + recursive bidirectional syncimplemented in engine (keyring; newest-wins sync)
Full preferencesplanned