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
| layer | repository | responsibility |
| desktop app | zftp (this repo) | Tauri v2 shell, cyberpunk HUD front-end, action-to-engine wiring, embedded terminal |
| transfer engine | zftp-core | bookmark + URL/.duck parsing, session manager, transport backends, transfer queue, logs, stats — decoupled from any GUI |
Build layout
| path | role |
| app/src-tauri | thin Tauri host: registers zftp_invoke + terminal commands; setup mounts the engine |
| crates/zftp-core | the embeddable file-transfer engine (submodule, tauri feature) |
| crates/zpwr-embed-terminal | shared embedded PTY terminal (submodule) |
| crates/zpwr-i18n | shared i18n runtime (submodule) |
| frontend | app shell; webui/terminal/i18n assets synced from the submodules before each dev/build |
| scripts | clean · 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
| area | status |
| App shell + HUD + engine wiring | implemented |
| Bookmark model + URL/.duck import | implemented in engine |
| Session manager + transfer queue + logs + throughput | implemented 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 sync | implemented in engine (keyring; newest-wins sync) |
| Full preferences | planned |