aboutsummaryrefslogtreecommitdiff
path: root/duet.el
diff options
context:
space:
mode:
Diffstat (limited to 'duet.el')
-rw-r--r--duet.el48
1 files changed, 48 insertions, 0 deletions
diff --git a/duet.el b/duet.el
new file mode 100644
index 0000000..364a7c4
--- /dev/null
+++ b/duet.el
@@ -0,0 +1,48 @@
+;;; duet.el --- Dual-pane file commander over dirvish/dired -*- lexical-binding: t -*-
+
+;; Author: Craig Jennings <c@cjennings.net>
+;; URL: https://github.com/cjennings/duet
+;; Version: 0.1.0
+;; Package-Requires: ((emacs "29.1"))
+;; Keywords: files, tools, convenience
+
+;; This file is not part of GNU Emacs.
+
+;; This program is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;;; Commentary:
+
+;; DUET — "DUET Unifies Endpoint Trees" — is a two-pane orthodox file
+;; manager (Midnight Commander / FileZilla style) built on dirvish/dired.
+;; Two dired panes show any location, local or remote; single-key actions
+;; on the file under point use the opposite pane as the implied target.
+;;
+;; Transfers route through a pluggable backend registry: rsync for
+;; Unix-to-Unix (delta-transfer, faithful metadata, zero remote install),
+;; rclone for cloud and the long protocol tail, lftp for FTP/FTPS/HTTP, and
+;; unison for bidirectional sync. TRAMP is the universal substrate.
+;;
+;; dirvish is recommended as the renderer but not required; DUET degrades to
+;; plain dired.
+;;
+;; STATUS: pre-alpha skeleton. See the design document for the full plan and
+;; the staged roadmap.
+
+;;; Code:
+
+(defgroup duet nil
+ "Dual-pane file commander over dirvish/dired."
+ :group 'files
+ :prefix "duet-")
+
+;;;###autoload
+(defun duet ()
+ "Launch the DUET dual-pane file commander."
+ (interactive)
+ (user-error "DUET is not yet implemented — see the design document"))
+
+(provide 'duet)
+;;; duet.el ends here