GemiUI
A modern GUI application for Gemini CLI, built with Electron, React, and shadcn/ui.
✨ Features
- 🤖 AI Chat Interface - Modern chat interface powered by Gemini
- 🔧 Tool Management - Visual representation of all available CLI tools
- ⚙️ Settings Panel - Easy configuration for API keys, models, and preferences
- 📁 File Management - Built-in file explorer (coming soon)
- 🎨 Multiple Themes - Support for various UI themes
- 💾 Session Management - Save and restore chat sessions
- 🔌 MCP Integration - Model Context Protocol server support
🚀 Quick Start
Prerequisites
- Node.js 18 or higher
- npm or yarn
Installation
# Clone the repository git clone <your-repo-url> cd gemiui # Install dependencies npm install # Start development server npm run dev
Building
# Build for development npm run build # Package for distribution npm run dist
📁 Project Structure
gemiui/
├── electron/ # Electron main process
│ ├── main.ts # Main Electron process
│ └── preload.ts # Preload script
├── src/
│ ├── components/ # React components
│ │ ├── ui/ # shadcn/ui components
│ │ ├── ChatPanel.tsx
│ │ ├── ToolsPanel.tsx
│ │ ├── SettingsPanel.tsx
│ │ └── Sidebar.tsx
│ ├── lib/ # Utility functions
│ ├── hooks/ # React hooks
│ ├── store/ # State management
│ └── App.tsx # Main application
├── gemini-cli/ # Gemini CLI source code
└── dist/ # Built application
🛠️ Development
Available Scripts
npm run dev- Start development servernpm run build- Build applicationnpm run build:vite- Build renderer processnpm run build:electron- Build main processnpm run type-check- Run TypeScript checksnpm run lint- Run ESLintnpm run pack- Package app for testingnpm run dist- Build for distribution
Tech Stack
- Frontend: React 18 + TypeScript
- UI Framework: shadcn/ui + Tailwind CSS
- Desktop: Electron
- State Management: Zustand
- Build Tool: Vite
- Icons: Lucide React
🔧 Configuration
API Setup
- Get your Gemini API key from Google AI Studio
- Open GemiUI and go to Settings
- Enter your API key in the "API Configuration" section
- Select your preferred model
Themes
GemiUI supports multiple themes:
- Default
- Dark
- Light
- GitHub
- Dracula
- And more...
🤝 Contributing
- 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
📝 Roadmap
- Real Gemini API integration
- File drag & drop support
- Multi-tab conversations
- Plugin system
- Markdown rendering improvements
- Export conversations
- Cloud sync
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- Built on top of Gemini CLI
- UI components from shadcn/ui
- Icons from Lucide
