A pure Bash-based interactive file bundler for LLM prompting, inspired by lazygit’s UI and functionality.
- Interactive, pane-split file and directory selection via
fzfwith syntax-highlighted previews (bat). - Includes hidden files, expands directories into all contained files, and filters out
.zipfiles by default. - Generates a Markdown-formatted payload with a tree of selected roots and fenced code blocks for each file’s contents.
- Copies the payload to the system clipboard (
pbcopy,xclip, orwl-copy). - Provides an on-screen preview in a
tmuxsplit (or pager fallback). - Automatically checks for required dependencies before running.
bash(≥ 4.0)fzftreebat(orbatcat)pbcopy(macOS) orxclip/wl-copy(Linux)tmux(optional, for split-pane preview)
-
Save
promptpack.shto your preferred location:chmod +x promptpack.sh mv promptpack.sh /usr/local/bin/promptpack
-
Ensure dependencies are installed (e.g., on macOS via Homebrew):
brew install fzf tree bat tmux
promptpack [options]- Run without arguments for an interactive session.
- Select files or directories (space to toggle, enter to confirm).
- @3rd's promptpack and its functionality.
- lazygit and its UI.
- npm and its frustrating dependency management.
- fzf and its fuzzy finder.
- bat and its syntax highlighting.
- tmux and its split panes.
- tree and its directory tree visualization.
- pbcopy/xclip/wl-copy and their clipboard management.
- bash and its scripting capabilities.
This project is licensed under the MIT License.