org-commander is an ambitious Emacs package designed to bridge the gap between file managers, terminal scripts, and AI-assisted workflows. It provides an Org-backed visual job orchestrator and batch processor, allowing users to execute, manage, and analyze complex file operations and shell scripts through a unified interface.
This project is the official evolution of the dired-global-script-runner (GitHub | Codeberg) prototype. While the prototype successfully demonstrated the execution of scripts on selected Dired files, org-commander expands that vision into a highly extensible, file-manager-agnostic architecture powered by Org mode and AI.
- Visual Task Management: Leverages Org mode’s native TUI features (checkboxes, folding, timestamps, properties) to act as a dynamic state-management database for background jobs and batch operations.
- Universal File Manager Support: Works seamlessly across different Emacs file managers (Dired, Yazi, Ranger) without being hard-coded to any single ecosystem.
- AI-Driven Workflows: Integrates directly with existing AI packages (like
gptel) for smart preset generation, intelligent file categorization, and automated shell error analysis. - Transient Menus: Provides a discoverable, keyboard-driven interface using
transientto configure parameters, select scripts, and trigger AI agents without leaving the context of your files.
The architecture of org-commander is built on three main pillars:
- The Adapter Pattern:
Instead of binding strictly to Dired, the project uses small adapter functions (e.g.,
org-cmd-get-selected-files). When invoked, the adapter detects the current active file manager and returns a standardized list of file paths. This ensures universal compatibility. - Org-as-a-Database:
Rather than relying on hidden background processes or external dependencies,
org-commanderoutputs its job queues, execution states, and error logs directly into an active Org buffer. This provides immediate visual feedback and allows users to manipulate job states using standard Org commands. - Namespaced Modularity:
All functions, variables, and macros strictly adhere to the
org-cmd-prefix to prevent namespace collisions within the Emacs ecosystem.
(Installation instructions will be added as the package approaches an MVP release.)
(Usage examples and keybindings will be documented here.)
This project is licensed under the GNU General Public License v3.0. See the LICENSE file for details.