A Qt6-based desktop application for organizing and managing text prompts/snippets in a hierarchical folder structure. Perfect for developers, writers, and anyone who needs to organize reusable text snippets.
- Hierarchical Organization: Organize prompts in nested folders
- Drag & Drop: Move prompts between folders with mouse drag-and-drop
- Search & Filter: Quick search across all prompts
- Folder Search & Sort: Search the folder tree by folder name or prompt title, and auto-sort folders by name (A–Z / Z–A) or recency (Newest / Oldest, based on the most recently modified prompt inside). Prompts keep their manual drag-and-drop order
- New Project Scaffolding: Create a project's Refresher + EOD Summary prompt pair from a type template (Android / Python / Rust / Node.js / C++ / Generic) in one step, via File → New Project… or the folder tree's New Project Here… right-click action
- Import/Export: Support for JSON and CSV formats
- Auto-Save: Changes are automatically persisted
- Keyboard Shortcuts: Efficient workflow with keyboard shortcuts
- REST API: Let agents and tools manage prompts with full parity to the app —
create, edit, delete, and search over a local HTTP API. Enable it in
Settings → API Server… (configurable port, generated API key, live
curlexample). Request bodies are validated: an unknown field, a wrong-typed value, or a body that isn't a JSON object all return a400naming the offender, so a malformed call can never look like a successful write. Destructive folder deletes require an explicit confirmation and otherwise run as a dry run that reports what would be lost. See API.md for the full reference.
- Atomic Saves: Safe file writing with automatic backups
- Data Validation: Built-in diagnostic tools to check data integrity
- Cross-Platform: Works on Linux, macOS, and Windows
- Qt6 (6.2 or later)
- CMake (3.16 or later)
- C++17 compatible compiler
Ubuntu/Debian:
sudo apt update
sudo apt install qt6-base-dev cmake build-essentialFedora:
sudo dnf install qt6-qtbase-devel cmake gcc-c++Arch Linux:
sudo pacman -S qt6-base cmake base-develgit clone <repository-url>
cd PromptManager_v2
mkdir build && cd build
cmake ..
make -j$(nproc)
./PromptManagerUsing Homebrew (recommended):
brew install qt@6 cmakeYou may need to add Qt to your PATH:
echo 'export PATH="/opt/homebrew/opt/qt@6/bin:$PATH"' >> ~/.zshrc
source ~/.zshrcUsing Qt Installer: Download and install from qt.io
git clone <repository-url>
cd PromptManager_v2
mkdir build && cd build
cmake ..
make -j$(sysctl -n hw.ncpu)
./PromptManagerTo create a macOS app bundle:
macdeployqt PromptManager.appOption 1: Qt Online Installer (recommended)
- Download the Qt installer from qt.io
- Install Qt 6.2+ with the MSVC or MinGW toolchain
- Install CMake from cmake.org or via Qt
Option 2: Using vcpkg
vcpkg install qt6-base:x64-windowsOption 3: Using MSYS2/MinGW
pacman -S mingw-w64-x86_64-qt6-base mingw-w64-x86_64-cmake mingw-w64-x86_64-gccUsing Qt Creator (easiest):
- Open
CMakeLists.txtin Qt Creator - Configure the project with your Qt kit
- Build and run from the IDE
Using Command Line (MSVC):
# Open "Developer Command Prompt for VS" or "x64 Native Tools Command Prompt"
git clone <repository-url>
cd PromptManager_v2
mkdir build && cd build
cmake .. -G "Visual Studio 17 2022" -A x64
cmake --build . --config Release
.\Release\PromptManager.exeUsing Command Line (MinGW):
git clone <repository-url>
cd PromptManager_v2
mkdir build && cd build
cmake .. -G "MinGW Makefiles"
mingw32-make -j4
./PromptManager.exeTo create a standalone executable with all required DLLs:
windeployqt PromptManager.exe- Creating Prompts: Click "New Prompt" or press Ctrl+N
- Creating Folders: Click "New Folder" button in the folder panel
- Organizing: Drag prompts to folders to organize them
- Editing: Select a prompt to edit its title and content
- Saving: Changes are saved automatically, or press Ctrl+S to save manually
Ctrl+N- New promptCtrl+S- Save all changesCtrl+O- Import promptsCtrl+E- Export promptsCtrl+C- Copy prompt to clipboardDelete- Delete selected itemCtrl+D- Run diagnostic check
- JSON Format: Preserves all metadata including folder structure
- CSV Format: Compatible with spreadsheet applications
- Merge Mode: Add imported prompts to existing collection
- Replace Mode: Replace entire collection with imported data
- Folder Import: Import directly into a specific folder
- Data File:
~/.prompt_snippets_v2.json - Backup File:
~/.prompt_snippets_v2.json.bak(created automatically)
- MainWindow: Central UI and application logic
- FolderTreeModel: Qt model for hierarchical folder/prompt structure
- FolderTreeItem: Data structure for tree nodes
- Prompt: Core data structure for prompt storage
- Proper drag-and-drop implementation preserving item types
- Atomic file operations preventing data corruption
- Comprehensive error handling
- Memory leak prevention
- Built-in diagnostic tools
Use File → Diagnostic Check (Ctrl+D) to:
- View complete folder tree structure
- Check for orphaned prompts
- Detect duplicate IDs
- Analyze selected items
- Cannot Delete Item: Run diagnostic check to identify if it's a corrupted item
- Lost Prompts: Check the backup file (
.bak) for recovery - Drag-Drop Not Working: Ensure you're dragging to a folder (not another prompt)
PromptManager_v2/
├── CMakeLists.txt # Build configuration
├── main.cpp # Application entry point
├── mainwindow.cpp/h # Main UI and business logic
├── foldertreemodel.cpp/h # Tree model implementation
├── foldertreeitem.h # Tree item data structure
└── resources/
├── icon.svg # Vector source for the app icon
├── render_icon.py # Rasterises icon.svg to the PNG/ICO sizes
├── resources.qrc # Qt resource bundle (icons compiled into the binary)
├── icons/ # Generated PNGs (16-512px) and app.ico
└── promptmanager.desktop # Linux desktop entry
The icon is an amber squircle carrying a prompt chevron and snippet lines, using
the same accent colour as the app's UI. resources/icon.svg is the source of
truth; the PNGs and the Windows .ico are generated from it.
To regenerate after editing the SVG (requires Pillow):
python3 resources/render_icon.pyThis rewrites resources/icons/. The PNGs are compiled into the executable via
resources.qrc, so a rebuild is all that's needed to pick up the change. On
Linux, make install also installs the desktop entry and the hicolor theme
icons so the app shows up in application menus.
- Fixed prompt-to-folder conversion bug in drag-and-drop
- Implemented automatic saving after drag-drop operations
- Added atomic file writing with backup creation
- Fixed memory leaks in model replacement
- Added comprehensive diagnostic tools
- Improved CSV parsing boundary checks
This project is provided as-is for educational and personal use.
Feel free to submit issues and enhancement requests!