A powerful desktop application for organizing, managing, and reusing AI image generation prompts. Built with React, TypeScript, and Electron.
- 📝 Prompt Management: Create, edit, and organize your AI prompts with titles, descriptions, and notes
- 🏷️ Tagging System: Categorize prompts with custom tags (Portrait, Landscape, Sci-Fi, Fantasy, Anime, Realistic, etc.)
- 🤖 AI Model Support: Associate prompts with specific AI models (Stable Diffusion, Midjourney, DALL-E)
- 🖼️ Image Gallery: Link and manage generated images with your prompts
- 🔍 Advanced Search & Filtering: Filter by tags, models, and search through prompt content
- 📂 Drag & Drop Organization: Reorder and organize prompts intuitively
- 💾 Persistent Storage: All data is stored locally using Electron Store
- 🎨 Modern UI: Clean, responsive interface built with Tailwind CSS
- 🚀 Cross-Platform: Available for Windows, macOS, and Linux
- Node.js (v16 or higher)
- npm or yarn
- Clone the repository:
git clone https://github.com/yourusername/ai-prompt-manager.git cd ai-prompt-manager- Install dependencies:
npm install- Start the development server:
npm run electron:devThis will start both the Vite development server and the Electron application.
To build the application for your platform:
npm run electron:buildBuilt applications will be available in the dist-electron directory.
npm run dev- Start Vite development server onlynpm run build- Build the web applicationnpm run electron:dev- Start both Vite and Electron in development modenpm run electron:build- Build the Electron application for distributionnpm run electron:preview- Run the built Electron applicationnpm run lint- Run ESLintnpm run preview- Preview the built web application
src/ ├── components/ # React components │ ├── layout/ # Layout components (Header, Sidebar, Layout) │ ├── selectors/ # Model and Tag selectors │ ├── images/ # Image management components │ └── ui/ # Reusable UI components ├── contexts/ # React contexts │ └── DataContext.tsx # Main data management context ├── types/ # TypeScript type definitions │ └── index.ts # Main type definitions ├── App.tsx # Main application component ├── main.tsx # React entry point └── index.css # Global styles electron/ └── main.js # Electron main process The application uses the following main data structures:
interface Prompt { id: string; title: string; prompt: string; negative_prompt: string; tags: string[]; ai_models: string[]; notes: string; created_at: string; updated_at: string; linked_images: string[]; }interface Tag { id: string; label: string; }interface AIModel { id: string; label: string; }- Frontend: React 18, TypeScript
- Desktop Framework: Electron
- Build Tool: Vite
- Styling: Tailwind CSS
- UI Components: Lucide React (icons)
- Drag & Drop: React Beautiful DnD
- Data Storage: Electron Store
- Date Handling: date-fns
- Development: ESLint, Concurrently
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Cloud synchronization
- Prompt templates
- Batch operations
- Export/import functionality
- Advanced prompt analysis
- Integration with popular AI platforms
- Prompt versioning
- Collaborative features
If you encounter any issues or have questions, please open an issue on GitHub.
- Built with Electron
- UI components from Lucide
- Styled with Tailwind CSS
