https://github.com/sysadmindoc/promptcompanion
The AI Prompt Companion — a curated, searchable, offline library of the best AI prompts.
https://github.com/sysadmindoc/promptcompanion
Last synced: 17 days ago
JSON representation
The AI Prompt Companion — a curated, searchable, offline library of the best AI prompts.
- Host: GitHub
- URL: https://github.com/sysadmindoc/promptcompanion
- Owner: SysAdminDoc
- License: other
- Created: 2026-04-19T00:10:29.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-06-09T11:57:21.000Z (about 1 month ago)
- Last Synced: 2026-06-09T13:25:39.866Z (about 1 month ago)
- Language: Python
- Size: 23.1 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Notice: NOTICE
Awesome Lists containing this project
README
PromptCompanion
The AI Prompt Companion — a curated, searchable, offline library of the best AI prompts.
---
---
## What is this?
**PromptCompanion** is a library-first tool for AI prompts. It aggregates, cleans, and
categorizes the best publicly-available prompts from multiple upstream sources into a
single structured dataset, and exposes them through a dark-themed desktop GUI with fast search,
variable substitution, and one-click copy-to-clipboard.
Unlike existing tools (AnythingLLM, LibreChat, MSTY) that bolt a prompt library onto a
full chat application, PromptCompanion is built around the *library* itself. The primary
action is "find the right prompt and copy it." No chat window, no accounts, no cloud.
### Current status — `v0.6.3`
- [x] Prompt record JSON Schema + category/tag taxonomy
- [x] 5 importers for upstream sources (CC0 + MIT only, English)
- [x] Body-hash deduplication + quality scoring (0-100)
- [x] SQLite FTS5 search with **bm25 relevance ranking** (title 10x, tags 5x, author 2x)
- [x] **PyQt6 desktop GUI** — Catppuccin Mocha dark theme
- [x] **Three-pane layout** — category tree | prompt list | preview
- [x] **FTS5 search bar** — full-text search with prefix matching
- [x] **Filter controls** — role, quality threshold, source
- [x] **Variable substitution** — fill `{{placeholders}}` inline, copy filled
- [x] **Personal overlay edits** — edit bundled prompt titles/bodies, notes, and local tags without mutating source data
- [x] **Local version history** — view the latest local edit as an embedded diff
- [x] **Private prompts** — create local-only prompts with optional encrypted overlay storage
- [x] **Favorites** — star any prompt, browse your favorites collection
- [x] **History** — recently copied/pasted prompts tracked automatically
- [x] **System tray** — minimize to tray, stays running in background
- [x] **Global hotkey** — Win+Shift+P summons window from anywhere (Windows)
- [x] **Paste-to-active-window** — copies prompt and pastes into previous window
- [x] **Export profiles** — Plain Text, Markdown, or JSON copy
- [x] **PyInstaller build** — `python build.py` produces a single `PromptCompanion.exe`
## Bundled Sources
| Source | License | Status |
|---|---|---|
| [f/awesome-chatgpt-prompts](https://github.com/f/awesome-chatgpt-prompts) | CC0-1.0 | Bundled |
| [0xeb/TheBigPromptLibrary](https://github.com/0xeb/TheBigPromptLibrary) | MIT | Bundled |
| [dontriskit/awesome-ai-system-prompts](https://github.com/dontriskit/awesome-ai-system-prompts) | MIT | Bundled |
| [abilzerian/LLM-Prompt-Library](https://github.com/abilzerian/LLM-Prompt-Library) | MIT | Bundled |
| [mustvlad/ChatGPT-System-Prompts](https://github.com/mustvlad/ChatGPT-System-Prompts) | MIT | Bundled |
Each record retains its upstream `source`, `author`, and `license` fields for attribution.
Only CC0 and MIT sources are bundled to keep the aggregate dataset permissively licensed.
## Repository Layout
```
PromptCompanion/
├── data/
│ ├── prompts/ # Curated prompts, JSONL, one file per category
│ ├── sources/ # Source registry + attribution (upstream clones gitignored)
│ ├── index/ # Built SQLite FTS5 index (gitignored)
│ ├── schema.json # JSON Schema for a prompt record
│ └── taxonomy.json # Category + tag vocabulary
├── tools/
│ ├── fetch_sources.py # Clone upstream repos into data/sources/upstream/
│ ├── import_awesome.py # Parse f/awesome-chatgpt-prompts CSV
│ ├── import_bigprompt.py# Parse TheBigPromptLibrary markdown tree
│ ├── import_system.py # Parse awesome-ai-system-prompts markdown tree
│ ├── import_llmprompt.py# Parse LLM-Prompt-Library markdown + Jinja2
│ ├── import_chatsys.py # Parse ChatGPT-System-Prompts markdown
│ ├── validate.py # Schema validation + deduplication
│ └── build_index.py # Compile SQLite FTS5 search index
├── promptcompanion.py # Desktop GUI (PyQt6)
├── docs/
│ └── SCHEMA.md # Human-readable schema documentation
├── CHANGELOG.md
├── LICENSE
└── README.md
```
## Quick Start (data pipeline)
```bash
# From the repo root
python tools/fetch_sources.py # Clone upstream prompt repos
python tools/import_awesome.py # Parse CSV → data/prompts/*.jsonl
python tools/import_bigprompt.py # Parse markdown tree
python tools/import_system.py # Parse system-prompt collection
python tools/import_llmprompt.py # Parse LLM-Prompt-Library (md + j2)
python tools/import_chatsys.py # Parse ChatGPT-System-Prompts
python tools/validate.py # Schema check + dedupe report
python tools/build_index.py # Emit data/index/prompts.db (FTS5)
```
Python 3.10+. All scripts auto-install dependencies on first run via `_bootstrap()`.
## Launch the GUI
```bash
python promptcompanion.py
```
Requires `PyQt6`. Auto-installed on first run. Reads from `data/index/prompts.db`.
The app minimizes to the system tray on close. On Windows, press **Win+Shift+P** from
any window to summon PromptCompanion, pick a prompt, and click **Paste to App** to
send it directly into ChatGPT, Claude, or any text field.
## Build Standalone Exe
```bash
python build.py # Produces dist/PromptCompanion.exe (single file, ~30 MB)
```
Bundles the prompt database and logo. User data (favorites, history) stored in `~/.promptcompanion/`.
Local prompt edits are layered from `overlay.jsonl` in the same user data directory, so bundled source prompts remain immutable.
Set `PROMPTCOMPANION_PRIVATE_PASSPHRASE` before launch to encrypt private prompt lines in the overlay file.
## Prompt Record Schema
```json
{
"id": "awesome-linux-terminal",
"title": "Linux Terminal",
"body": "I want you to act as a linux terminal...",
"role": "user",
"category": "roleplay",
"tags": ["shell", "simulation", "developer"],
"variables": [],
"target_models": ["any"],
"language": "en",
"source": "https://github.com/f/awesome-chatgpt-prompts",
"author": "f (Fatih Kadir Akın)",
"license": "CC0-1.0",
"version": 1,
"created": "2026-04-18T00:00:00Z",
"quality": 55,
"updated": "2026-04-18T00:00:00Z"
}
```
Full schema documentation lives in [docs/SCHEMA.md](docs/SCHEMA.md).
## Category Taxonomy
Ten flat top-level buckets + free-form tags:
- **development** — code gen, review, debugging, refactor, SQL, devops, regex
- **writing** — blog, copy, email, editing, summarize
- **research** — literature review, data analysis, fact-check, compare
- **creative** — fiction, worldbuilding, poetry, lyrics, image prompts
- **business** — strategy, meeting notes, reports, pitch, hiring
- **productivity** — planning, learning, teaching, flashcards
- **system** — agent personas, custom-GPT system prompts
- **roleplay** — "act as" prompts
- **translation** — translate, grammar, localize
- **specialized** — medical, legal, finance, academic (each gated with disclaimer)
See [data/taxonomy.json](data/taxonomy.json) for the machine-readable vocabulary.
## Roadmap
| Version | Focus |
|---|---|
| **0.0.x** | Data foundation, schema, importers, validation |
| **0.1.x** | More sources, dedupe heuristics, quality scoring |
| **0.2.x** | PyQt6 desktop GUI, SQLite FTS5 search, variable panel |
| **0.3.x** | System tray, global hotkey, paste-to-window, export profiles |
| **0.6.x** | Personal overlay edits without forking bundled data |
| **1.0.0** | First stable release with full feature set |
See [CHANGELOG.md](CHANGELOG.md) for detailed release history.
## Contributing
This is currently a personal curation project. Issues and PRs welcome for:
- New upstream sources (CC0 or MIT only)
- Schema extensions
- Category taxonomy refinements
- Quality flags / deprecation of low-value prompts
## License
Tooling and curation: **MIT** (see [LICENSE](LICENSE)).
Bundled prompt data: retains upstream licenses (CC0 and MIT only).