AI-Powered Prompt Generator with Smart Credit System
Transform your ideas into powerful AI prompts instantly. Built with React, TypeScript, and Supabase.
๐ Live Demo โข ๐ Documentation โข ๐ค Contributing โข ๐ Security
- โจ Features
- ๐ ๏ธ Tech Stack
- ๐ Quick Start
- ๐ Project Structure
- ๐ Documentation
- ๐ฎ Usage Guide
- ๐ค Contributing
- ๐ License
- ๐ง Contact
|
|
Built with security at its core. Learn more โ
- โ Row Level Security (RLS) - Database-level access control
- โ IDOR Protection - Users can only access their own data
- โ Input Validation - Zod schemas + XSS prevention
- โ Rate Limiting - Protection against abuse
- โ Password Strength - Enforced requirements with visual feedback
View detailed credit system documentation โ
| User Type | Generations | Prompt Views | Storage | Cost |
|---|---|---|---|---|
| ๐ญ Anonymous | 3 free | 3 free views | localStorage | Free |
| โจ Registered | 7 credits | Unlimited | Database | Free |
| Price | Comming soon |
|
|
|
๐ Prerequisites: Node.js 18+, npm, Supabase account (free), and at least one AI API key
git clone https://github.com/Addy-shetty/Vibe-Prompting.git
cd Vibe-Promptingnpm installCopy .env.example to .env and fill in your credentials:
cp .env.example .envRequired variables:
# Supabase (Get from: https://app.supabase.com/project/_/settings/api)
VITE_SUPABASE_URL=your_supabase_project_url
VITE_SUPABASE_ANON_KEY=your_supabase_anon_key
# AI API Keys (choose at least one)
VITE_GEMINI_API_KEY=your_gemini_api_key # https://aistudio.google.com/apikey
VITE_OPENROUTER_API_KEY=your_openrouter_key # https://openrouter.ai/keys๐ก Tip: See .env.example for detailed setup instructions
Run migrations in the Supabase SQL Editor:
# Or use Supabase CLI
npx supabase db reset๐ Detailed database setup guide โ
npm run dev๐ Visit http://localhost:5173 and start creating prompts!
npm run build
npm run previewvibe-prompting/
โโโ src/
โ โโโ components/ # React components
โ โโโ pages/ # Page components
โ โโโ context/ # React context
โ โโโ hooks/ # Custom hooks
โ โโโ lib/ # Utilities
โ โโโ styles/ # Global styles
โโโ supabase/
โ โโโ migrations/ # Database migrations
โโโ docs/ # Documentation
โโโ public/ # Static assets
| Document | Description |
|---|---|
| ๐ Security Policy | Vulnerability reporting & security measures |
| ๐ค Contributing Guide | How to contribute to this project |
| ๐ MIT License | Open source license details |
| Guide | Description |
|---|---|
| ๐ Authentication | Auth implementation & user flows |
| ๐ณ Credits System | How credits work & limitations |
| ๐๏ธ Database Setup | Supabase configuration & migrations |
| ๐ก๏ธ Security Details | Complete security implementation |
- ๐ .env.example - Environment variables template
- ๐๏ธ supabase/migrations - Database migration files
- ๐งฉ src/components - React components
- ๐ฃ src/hooks - Custom React hooks
- ๐ Visit Homepage - Explore example prompts
- ๐ฏ Click a Category - Choose your prompt type
- โจ Generate - Create up to 3 free prompts
- ๐ Copy - One-click clipboard copy
- ๐พ Sign Up - To save prompts permanently
โ ๏ธ Note: Anonymous prompts are stored in localStorage and may be lost
- ๐ Sign Up - Get 50 free credits instantly
- ๐จ Generate Prompts - Use your credits wisely
- ๐ท๏ธ Add Tags - Organize with up to 5 tags
- ๐ Make Public - Share with the community
- ๐ Browse Gallery - Discover & save others' prompts
- โ๏ธ Manage - Edit or delete your creations
- ๐ฏ Be Specific - More detailed inputs = better prompts
- ๐ท๏ธ Use Tags - Makes finding prompts easier later
- ๐ Go Public - Help the community & get discovered
- ๐ณ Track Credits - Visible in navbar when logged in
We โค๏ธ contributions! Whether it's bug reports, feature requests, or code contributions - all are welcome!
- ๐ด Fork the repository
- ๐ฟ Create a feature branch
git checkout -b feature/AmazingFeature
- ๐ป Code your changes
- โ
Commit with clear messages
git commit -m 'feat: Add AmazingFeature' - ๐ค Push to your branch
git push origin feature/AmazingFeature
- ๐ฏ Open a Pull Request
Please read our Contributing Guide for:
- ๐ Code of Conduct
- ๐ ๏ธ Development setup
- ๐ป Coding standards
- โ๏ธ Commit message conventions
- ๐งช Testing requirements
Open an issue with:
- Clear description
- Steps to reproduce
- Expected vs actual behavior
- Screenshots (if applicable)
We'd love to hear your ideas! Create a feature request and describe:
- The problem it solves
- Proposed solution
- Alternative approaches
This project is licensed under the MIT License - see the LICENSE file for details.
โ
Commercial use - Use it in your business
โ
Modification - Change and customize freely
โ
Distribution - Share with anyone
โ
Private use - Use for personal projects
- Include copyright notice
- Include license copy
๐ Read the full MIT License โ
This project wouldn't be possible without these amazing tools and services:
| Technology | Purpose | License |
|---|---|---|
| Google Gemini | AI prompt generation | Google AI |
| Supabase | Backend infrastructure | Apache 2.0 |
| React | UI framework | MIT |
| TypeScript | Type safety | Apache 2.0 |
| Tailwind CSS | Styling | MIT |
| Framer Motion | Animations | MIT |
| Vite | Build tool | MIT |
Special thanks to:
- ๐ All contributors
- ๐ Bug reporters and testers
- ๐ก Feature requesters
- โญ Everyone who starred this repo
- ๐ผ GitHub: @Addy-shetty
- ๐ง Email: [email protected]
- ๐ Issues: Report bugs
- ๐ก Discussions: Join conversations
If you find this project useful, please consider:
โญ Starring this repository
๐ด Forking and contributing
๐ Reporting bugs
๐ก Suggesting features
๐ข Sharing with others
Made with โค๏ธ by Addy Shetty
Thank you for visiting! Happy Prompting! ๐จโจ