{"id":51201421,"url":"https://github.com/sysadmindoc/promptcompanion","last_synced_at":"2026-06-28T01:00:44.630Z","repository":{"id":352322272,"uuid":"1214711478","full_name":"SysAdminDoc/PromptCompanion","owner":"SysAdminDoc","description":"The AI Prompt Companion — a curated, searchable, offline library of the best AI prompts.","archived":false,"fork":false,"pushed_at":"2026-06-09T11:57:21.000Z","size":24261,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-09T13:25:39.866Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SysAdminDoc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-19T00:10:29.000Z","updated_at":"2026-06-09T11:57:26.000Z","dependencies_parsed_at":null,"dependency_job_id":"a583e6ca-cf14-4024-bf6c-052162147938","html_url":"https://github.com/SysAdminDoc/PromptCompanion","commit_stats":null,"previous_names":["sysadmindoc/promptcompanion"],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/SysAdminDoc/PromptCompanion","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SysAdminDoc%2FPromptCompanion","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SysAdminDoc%2FPromptCompanion/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SysAdminDoc%2FPromptCompanion/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SysAdminDoc%2FPromptCompanion/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SysAdminDoc","download_url":"https://codeload.github.com/SysAdminDoc/PromptCompanion/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SysAdminDoc%2FPromptCompanion/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34873663,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-27T02:00:06.362Z","response_time":126,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-28T01:00:25.537Z","updated_at":"2026-06-28T01:00:44.623Z","avatar_url":"https://github.com/SysAdminDoc.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"logo.png\" alt=\"PromptCompanion\" width=\"180\" /\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003ePromptCompanion\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cem\u003eThe AI Prompt Companion — a curated, searchable, offline library of the best AI prompts.\u003c/em\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/version-0.6.3-blue?style=flat-square\" alt=\"version\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/license-MIT-green?style=flat-square\" alt=\"license\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/platform-Windows%20%7C%20macOS%20%7C%20Linux-lightgrey?style=flat-square\" alt=\"platform\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/python-3.10%2B-yellow?style=flat-square\" alt=\"python\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/prompts-3%2C511-brightgreen?style=flat-square\" alt=\"prompts\" /\u003e\n\u003c/p\u003e\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/screenshot.png\" alt=\"PromptCompanion GUI\" width=\"900\" /\u003e\n\u003c/p\u003e\n\n---\n\n## What is this?\n\n**PromptCompanion** is a library-first tool for AI prompts. It aggregates, cleans, and\ncategorizes the best publicly-available prompts from multiple upstream sources into a\nsingle structured dataset, and exposes them through a dark-themed desktop GUI with fast search,\nvariable substitution, and one-click copy-to-clipboard.\n\nUnlike existing tools (AnythingLLM, LibreChat, MSTY) that bolt a prompt library onto a\nfull chat application, PromptCompanion is built around the *library* itself. The primary\naction is \"find the right prompt and copy it.\" No chat window, no accounts, no cloud.\n\n### Current status — `v0.6.3`\n\n- [x] Prompt record JSON Schema + category/tag taxonomy\n- [x] 5 importers for upstream sources (CC0 + MIT only, English)\n- [x] Body-hash deduplication + quality scoring (0-100)\n- [x] SQLite FTS5 search with **bm25 relevance ranking** (title 10x, tags 5x, author 2x)\n- [x] **PyQt6 desktop GUI** — Catppuccin Mocha dark theme\n- [x] **Three-pane layout** — category tree | prompt list | preview\n- [x] **FTS5 search bar** — full-text search with prefix matching\n- [x] **Filter controls** — role, quality threshold, source\n- [x] **Variable substitution** — fill `{{placeholders}}` inline, copy filled\n- [x] **Personal overlay edits** — edit bundled prompt titles/bodies, notes, and local tags without mutating source data\n- [x] **Local version history** — view the latest local edit as an embedded diff\n- [x] **Private prompts** — create local-only prompts with optional encrypted overlay storage\n- [x] **Favorites** — star any prompt, browse your favorites collection\n- [x] **History** — recently copied/pasted prompts tracked automatically\n- [x] **System tray** — minimize to tray, stays running in background\n- [x] **Global hotkey** — Win+Shift+P summons window from anywhere (Windows)\n- [x] **Paste-to-active-window** — copies prompt and pastes into previous window\n- [x] **Export profiles** — Plain Text, Markdown, or JSON copy\n- [x] **PyInstaller build** — `python build.py` produces a single `PromptCompanion.exe`\n\n## Bundled Sources\n\n| Source | License | Status |\n|---|---|---|\n| [f/awesome-chatgpt-prompts](https://github.com/f/awesome-chatgpt-prompts) | CC0-1.0 | Bundled |\n| [0xeb/TheBigPromptLibrary](https://github.com/0xeb/TheBigPromptLibrary) | MIT | Bundled |\n| [dontriskit/awesome-ai-system-prompts](https://github.com/dontriskit/awesome-ai-system-prompts) | MIT | Bundled |\n| [abilzerian/LLM-Prompt-Library](https://github.com/abilzerian/LLM-Prompt-Library) | MIT | Bundled |\n| [mustvlad/ChatGPT-System-Prompts](https://github.com/mustvlad/ChatGPT-System-Prompts) | MIT | Bundled |\n\nEach record retains its upstream `source`, `author`, and `license` fields for attribution.\nOnly CC0 and MIT sources are bundled to keep the aggregate dataset permissively licensed.\n\n## Repository Layout\n\n```\nPromptCompanion/\n├── data/\n│   ├── prompts/           # Curated prompts, JSONL, one file per category\n│   ├── sources/           # Source registry + attribution (upstream clones gitignored)\n│   ├── index/             # Built SQLite FTS5 index (gitignored)\n│   ├── schema.json        # JSON Schema for a prompt record\n│   └── taxonomy.json      # Category + tag vocabulary\n├── tools/\n│   ├── fetch_sources.py   # Clone upstream repos into data/sources/upstream/\n│   ├── import_awesome.py  # Parse f/awesome-chatgpt-prompts CSV\n│   ├── import_bigprompt.py# Parse TheBigPromptLibrary markdown tree\n│   ├── import_system.py   # Parse awesome-ai-system-prompts markdown tree\n│   ├── import_llmprompt.py# Parse LLM-Prompt-Library markdown + Jinja2\n│   ├── import_chatsys.py  # Parse ChatGPT-System-Prompts markdown\n│   ├── validate.py        # Schema validation + deduplication\n│   └── build_index.py     # Compile SQLite FTS5 search index\n├── promptcompanion.py       # Desktop GUI (PyQt6)\n├── docs/\n│   └── SCHEMA.md          # Human-readable schema documentation\n├── CHANGELOG.md\n├── LICENSE\n└── README.md\n```\n\n## Quick Start (data pipeline)\n\n```bash\n# From the repo root\npython tools/fetch_sources.py      # Clone upstream prompt repos\npython tools/import_awesome.py     # Parse CSV → data/prompts/*.jsonl\npython tools/import_bigprompt.py   # Parse markdown tree\npython tools/import_system.py      # Parse system-prompt collection\npython tools/import_llmprompt.py   # Parse LLM-Prompt-Library (md + j2)\npython tools/import_chatsys.py    # Parse ChatGPT-System-Prompts\npython tools/validate.py           # Schema check + dedupe report\npython tools/build_index.py        # Emit data/index/prompts.db (FTS5)\n```\n\nPython 3.10+. All scripts auto-install dependencies on first run via `_bootstrap()`.\n\n## Launch the GUI\n\n```bash\npython promptcompanion.py\n```\n\nRequires `PyQt6`. Auto-installed on first run. Reads from `data/index/prompts.db`.\nThe app minimizes to the system tray on close. On Windows, press **Win+Shift+P** from\nany window to summon PromptCompanion, pick a prompt, and click **Paste to App** to\nsend it directly into ChatGPT, Claude, or any text field.\n\n## Build Standalone Exe\n\n```bash\npython build.py    # Produces dist/PromptCompanion.exe (single file, ~30 MB)\n```\n\nBundles the prompt database and logo. User data (favorites, history) stored in `~/.promptcompanion/`.\nLocal prompt edits are layered from `overlay.jsonl` in the same user data directory, so bundled source prompts remain immutable.\nSet `PROMPTCOMPANION_PRIVATE_PASSPHRASE` before launch to encrypt private prompt lines in the overlay file.\n\n## Prompt Record Schema\n\n```json\n{\n  \"id\": \"awesome-linux-terminal\",\n  \"title\": \"Linux Terminal\",\n  \"body\": \"I want you to act as a linux terminal...\",\n  \"role\": \"user\",\n  \"category\": \"roleplay\",\n  \"tags\": [\"shell\", \"simulation\", \"developer\"],\n  \"variables\": [],\n  \"target_models\": [\"any\"],\n  \"language\": \"en\",\n  \"source\": \"https://github.com/f/awesome-chatgpt-prompts\",\n  \"author\": \"f (Fatih Kadir Akın)\",\n  \"license\": \"CC0-1.0\",\n  \"version\": 1,\n  \"created\": \"2026-04-18T00:00:00Z\",\n  \"quality\": 55,\n  \"updated\": \"2026-04-18T00:00:00Z\"\n}\n```\n\nFull schema documentation lives in [docs/SCHEMA.md](docs/SCHEMA.md).\n\n## Category Taxonomy\n\nTen flat top-level buckets + free-form tags:\n\n- **development** — code gen, review, debugging, refactor, SQL, devops, regex\n- **writing** — blog, copy, email, editing, summarize\n- **research** — literature review, data analysis, fact-check, compare\n- **creative** — fiction, worldbuilding, poetry, lyrics, image prompts\n- **business** — strategy, meeting notes, reports, pitch, hiring\n- **productivity** — planning, learning, teaching, flashcards\n- **system** — agent personas, custom-GPT system prompts\n- **roleplay** — \"act as\" prompts\n- **translation** — translate, grammar, localize\n- **specialized** — medical, legal, finance, academic (each gated with disclaimer)\n\nSee [data/taxonomy.json](data/taxonomy.json) for the machine-readable vocabulary.\n\n## Roadmap\n\n| Version | Focus |\n|---|---|\n| **0.0.x** | Data foundation, schema, importers, validation |\n| **0.1.x** | More sources, dedupe heuristics, quality scoring |\n| **0.2.x** | PyQt6 desktop GUI, SQLite FTS5 search, variable panel |\n| **0.3.x** | System tray, global hotkey, paste-to-window, export profiles |\n| **0.6.x** | Personal overlay edits without forking bundled data |\n| **1.0.0** | First stable release with full feature set |\n\nSee [CHANGELOG.md](CHANGELOG.md) for detailed release history.\n\n## Contributing\n\nThis is currently a personal curation project. Issues and PRs welcome for:\n- New upstream sources (CC0 or MIT only)\n- Schema extensions\n- Category taxonomy refinements\n- Quality flags / deprecation of low-value prompts\n\n## License\n\nTooling and curation: **MIT** (see [LICENSE](LICENSE)).\nBundled prompt data: retains upstream licenses (CC0 and MIT only).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsysadmindoc%2Fpromptcompanion","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsysadmindoc%2Fpromptcompanion","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsysadmindoc%2Fpromptcompanion/lists"}