An AI-powered prompt development studio built with Next.js 15 and Supabase. Create, test, manage, and optimize prompts for various AI models with an intuitive interface and powerful backend.
- Prompt Management: Create, edit, and organize prompts with version control
- AI Integration: Test prompts with multiple AI models (OpenAI, Claude, etc.)
- Real-time Collaboration: Share and collaborate on prompts with your team
- Performance Analytics: Track prompt performance and optimization metrics
- Template Library: Pre-built prompt templates for common use cases
- Version Control: Track changes and maintain prompt history
- Export/Import: Share prompts across different environments
- Frontend: Next.js 15 with React 19
- Backend: Supabase (PostgreSQL + Auth + Real-time)
- Styling: Tailwind CSS v4
- UI Components: Radix UI primitives
- Type Safety: TypeScript
- State Management: Zustand
- Form Handling: React Hook Form + Zod validation
- AI Integration: OpenAI API (extensible to other providers)
- Node.js 20 or higher
- npm or yarn package manager
- Supabase account
-
Clone the repository
git clone https://github.com/[username]/prompt-studio.git cd prompt-studio -
Install dependencies
npm install
-
Set up environment variables
cp .env.example .env.local
Fill in your environment variables:
# Supabase Configuration NEXT_PUBLIC_SUPABASE_URL=your_supabase_url NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key SUPABASE_SERVICE_ROLE_KEY=your_service_role_key # AI API Keys OPENAI_API_KEY=your_openai_api_key # Optional: Other AI providers ANTHROPIC_API_KEY=your_anthropic_key
-
Set up the database
npm run db:setup
-
Start the development server
npm run dev
-
Open your browser Navigate to http://localhost:3000
prompt-studio/
├── app/ # Next.js App Router
│ ├── (auth)/ # Authentication pages
│ ├── (dashboard)/ # Main application pages
│ └── api/ # API routes
├── lib/ # Utilities and configurations
│ ├── services/ # External service integrations
│ ├── hooks/ # Custom React hooks
│ ├── utils/ # Helper functions
│ └── types/ # TypeScript type definitions
├── stores/ # Zustand state management
├── supabase/ # Database migrations and types
├── scripts/ # Database and deployment scripts
└── .github/ # GitHub workflows and templates
npm run dev- Start development server with Turbopacknpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLintnpm run db:setup- Set up database with migrationsnpm run db:types- Generate TypeScript types from Supabase schemanpm run db:reset- Reset database (development only)npm run db:status- Check database connection status
The application uses Supabase with the following main tables:
- users - User profiles and authentication
- workspaces - Team workspaces for collaboration
- prompts - Prompt storage and metadata
- prompt_versions - Version history for prompts
- prompt_executions - Execution history and analytics
- templates - Reusable prompt templates
See DATABASE_SETUP_GUIDE.md for detailed schema information.
The application exposes several API endpoints for prompt management:
POST /api/prompts- Create new promptGET /api/prompts- List prompts with filteringPUT /api/prompts/[id]- Update existing promptDELETE /api/prompts/[id]- Delete promptPOST /api/prompts/[id]/execute- Execute prompt with AI model
For complete API documentation, see API_DOCUMENTATION.md.
-
Connect to Vercel
npx vercel
-
Configure environment variables in the Vercel dashboard
-
Deploy
npx vercel --prod
# Build and run with Docker
docker build -t prompt-studio .
docker run -p 3000:3000 prompt-studioMake sure to set these in your production environment:
NEXT_PUBLIC_SUPABASE_URLNEXT_PUBLIC_SUPABASE_ANON_KEYSUPABASE_SERVICE_ROLE_KEYOPENAI_API_KEY- Additional AI provider keys as needed
We welcome contributions! Please read our Contributing Guide for details on:
- Code of conduct
- Development setup
- Coding standards
- Pull request process
- Issue reporting
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes and test them
- Commit:
git commit -m 'feat: add amazing feature' - Push:
git push origin feature/amazing-feature - Open a Pull Request
- All API keys should be stored as environment variables
- Never commit sensitive information to the repository
- Use Supabase Row Level Security (RLS) for data protection
- Report security vulnerabilities privately
- Core prompt management features
- Basic AI model integration
- User authentication and profiles
- Workspace collaboration
- Advanced prompt templates
- Performance analytics dashboard
- Multi-model comparison
- API rate limiting and usage tracking
- Mobile application
- Plugin system for custom AI providers
- Advanced collaboration features
- Prompt marketplace
This project is licensed under the MIT License - see the LICENSE file for details.
- 📖 Documentation
- 🐛 Issue Tracker
- 💬 Discussions
- 📧 Email: [support@promptstudio.dev]
- Built with Next.js
- Powered by Supabase
- UI components from Radix UI
- Styling with Tailwind CSS
- Icons by Lucide
Made with ❤️ for the AI development community