 (require 'dired-aux)
 (require 'seq)
 
-(defvar dwim-shell-command--commands nil "All commands in progress")
+;;; Commentary:
+
+;; Provides `dwim-shell-command' as a DWIM alternative to
+;; `shell-command'.
+;;
+;; Use `dwim-shell-command-on-marked-files' to create your own command
+;; line utilities, invoked via M-x.
+;;
+;; See `dwim-shell-command-convert-audio-to-mp3' or
+;; `dwim-shell-command-pdf-password-protect' as examples.
+
+;;; Code:
+
+(defvar dwim-shell-command--commands nil "All commands in progress.")
 
 (cl-defstruct
     dwim-shell-command--command

;;; -*- lexical-binding: t; -*-

(require 'cl-lib)

         (project-dir (concat download-dir (file-name-base url)))
         (default-directory download-dir))
    (when (or (not (file-exists-p project-dir))
              (when (y-or-n-p (format "%s exists.  delete?" (file-name-base url)))
                (delete-directory project-dir t)
                t))
      (dwim-shell-command-on-marked-files
