<h1 align="center">
<a href="https://prompts.chat">
A system for saving, organizing, and retrieving AI prompts with metadata like tags, sources, and AI model compatibility information. Now includes a browser extension for capturing prompts while browsing and a local API service for seamless integration.
Loading actions...
<a href="https://prompts.chat">
TypeScript and ESLint rules that MUST be followed when creating, modifying, or reviewing any file under apps/frontend/, including .ts, .tsx, .js, and .jsx files. Also apply when discussing frontend linting, type safety, or ESLint configuration.
risks
A system for saving, organizing, and retrieving AI prompts with metadata like tags, sources, and AI model compatibility information. Now includes a browser extension for capturing prompts while browsing and a local API service for seamless integration.
Following Python best practices, set up a virtual environment:
# Create a virtual environment
python3 -m venv .venv
# Activate the virtual environment
# On macOS/Linux:
source .venv/bin/activate
# On Windows:
# .venv\Scripts\activate
# Update pip
python3 -m pip install --upgrade pip
This project has minimal dependencies as it primarily uses Python's standard library.
Prompts are stored in a JSON file with the following structure:
{
"prompts": [
{
"id": "unique-id",
"title": "Prompt Title",
"content": "The actual prompt text...",
"tags": ["tag1", "tag2", "tag3"],
"source": {
"type": "person/website/book/etc",
"name": "Source name",
"platform": "Where it was found",
"date_added": "YYYY-MM-DD"
},
"ai_model": {
"intended_for": ["model1", "model2"],
"tested_on": ["model1"]
},
"metadata": {
"created_at": "ISO timestamp",
"updated_at": "ISO timestamp",
"usage_count": 0,
"effectiveness_rating": null,
"notes": "Additional notes about the prompt"
}
}
]
}
The prompt_manager_v2.py script provides a command-line interface for managing your prompt collection.
There are two ways to add prompts:
1. Using direct content input:
python3 prompt_manager_v2.py add \
--title "My Prompt Title" \
--content "The prompt text goes here..." \
--source-type "person" \
--source-name "John Doe" \
--source-platform "Twitter" \
--tags "tag1,tag2,tag3" \
--models "chatgpt,claude" \
--notes "This prompt is useful for X"
2. Using a file for content (recommended for longer prompts):
# First save your prompt to a text file
echo "Your prompt text here..." > prompt_content.txt
# Then add it to your collection
python3 prompt_manager_v2.py add \
--title "My Prompt Title" \
--content-file prompt_content.txt \
--source-type "person" \
--source-name "John Doe" \
--source-platform "Twitter" \
--tags "tag1,tag2,tag3" \
--models "chatgpt,claude" \
--notes "This prompt is useful for X"
python3 prompt_manager_v2.py list
python3 prompt_manager_v2.py get <prompt-id>
# Search by text
python3 prompt_manager_v2.py search --query "learning"
# Search by tags
python3 prompt_manager_v2.py search --tags "education,interactive"
# Search by both text and tags
python3 prompt_manager_v2.py search --query "learning" --tags "interactive"
You can also use the PromptManager class in your own Python scripts:
from prompt_manager_v2 import PromptManager
# Initialize the manager
manager = PromptManager()
# Add a prompt
prompt_id = manager.add_prompt(
title="My Prompt",
content="Prompt content...",
source_type="website",
source_name="example.com",
tags=["tag1", "tag2"]
)
# List all prompts
prompts = manager.list_prompts()
# Get a specific prompt
prompt = manager.get_prompt(prompt_id)
# Search prompts
results = manager.search_prompts(query="learning", tags=["education"])
The prompt_manager_v2.py script provides the core functionality for managing your prompt collection. See usage instructions below.
A FastAPI-based service that provides RESTful API endpoints for managing prompts. This allows other applications to interact with your prompt collection.
api_service/ directoryA browser extension for Brave and Firefox that allows you to save prompts directly from web pages.
browser_extension/ directory