103 lines
2.5 KiB
Markdown
103 lines
2.5 KiB
Markdown
# PromptBase
|
|
|
|
## Overview
|
|
|
|
PromptBase is a centralized, searchable repository for storing and managing prompts used in AI models, chatbots, or any generative application. It provides a structured way to organize, tag, search, and reuse prompts—streamlining prompt engineering for developers, teams, and enthusiasts.
|
|
|
|
## Features
|
|
|
|
- **Prompt Types**: Categorize prompts as `System` or `Task`
|
|
- **Tagging**: Add tags to describe and filter prompts
|
|
- **Search**: Keyword and full-text search with filter by type and tags
|
|
- **Metadata**: Each prompt includes:
|
|
- Title
|
|
- Description
|
|
- Tags
|
|
- Type
|
|
- Created/Last modified timestamps
|
|
- **Import/Export**: Import/export prompts via JSON files
|
|
- **Web UI**: Clean interface to view, edit, and manage prompts
|
|
- **Planned**:
|
|
- AI Integration: Suggest prompts using OpenAI, Together, or Ollama APIs
|
|
- User auth and profiles
|
|
- Prompt favorites and contributions
|
|
- Ratings, version history, and sharing
|
|
|
|
## Usage
|
|
|
|
You'll need a .env file with your Supabase credentials. See `supabase.env.example`.
|
|
|
|
### Docker
|
|
|
|
To run the app using Docker, you can use the provided `docker-compose.yml` file.
|
|
|
|
```yaml
|
|
services:
|
|
frontend:
|
|
container_name: PromptBase
|
|
image: git.keithsolomon.net/keith/promptbase:main
|
|
restart: unless-stopped
|
|
|
|
environment:
|
|
- NODE_ENV=production
|
|
|
|
ports:
|
|
- "4321:4321"
|
|
|
|
volumes:
|
|
- ./.env:/app/.env:ro # Bind-mount .env as read-only
|
|
```
|
|
|
|
### To run locally (for development)
|
|
|
|
```bash
|
|
npm install
|
|
npm run dev
|
|
```
|
|
|
|
## Tech Stack
|
|
|
|
- **Frontend**: Astro js, Tailwind CSS
|
|
- **Backend**: Supabase (self-hosted)
|
|
- **Deployment**: Docker (frontend), Supabase (backend)
|
|
|
|
## Database Schema
|
|
|
|
### `prompts`
|
|
|
|
| Column | Type |
|
|
|---------------|------------|
|
|
| id | UUID |
|
|
| type | text |
|
|
| title | text |
|
|
| description | text |
|
|
| tags | array(text)|
|
|
| created_at | timestamp |
|
|
| updated_at | timestamp |
|
|
|
|
*Future tables: `users`, `user_prompts`*
|
|
|
|
## Development Roadmap
|
|
|
|
Development is organized into phases. For details, see `checklist.md`.
|
|
|
|
### MVP Phases
|
|
|
|
1. **Planning & Setup**
|
|
2. **Database & Supabase API**
|
|
3. **Front-End UI**
|
|
4. **Search & Tagging**
|
|
5. **Import/Export Functionality**
|
|
|
|
### Post-MVP Enhancements
|
|
|
|
- AI Prompt Suggestions
|
|
- User login with Supabase Auth
|
|
- User-contributed prompts and favorites
|
|
- Ratings, version control, external API
|
|
- Shareable links and embeds
|
|
|
|
## Contributing
|
|
|
|
Pull requests are welcome! Please keep contributions focused on core functionality and usability improvements.
|