GUI-based AI vibe coding for free with no vendor lock-in, mcp support, no need for api keys or fancy hardware, and gemini-cli for free requests
Overview
Gemmit - AI-Powered Development Assistant * Runs entirely off Google's —no local model downloads or OpenAI API keys required. * 100% local environment: your code and projects stay on your machine in ~/Gemmit_Projects. * No vendor lock-in: build, customize, and extend however you like. * Scoped by default: Gemmit automatically “scopes out” tasks, analyzes your project, and proposes context-aware actions. * Works with gemmit-app for on-the-go AI edits and project management from your phone. * : Real-time streaming conversations with Gemini 2.5 Flash over WebSockets. * : Automatic creation of new projects under ~/Gemmit_Projects following the PocketFlow methodology. * : Browse, create, read, update, and delete files directly in-app. * : AI introspects your existing codebase and suggests context-aware changes. * : Configure custom M(odel)C(ontext)P(ipeline) servers via .gemmit/settings.json. * : Leverage the full power of gemini-cli under the hood—swap in any Gemini-based model.
README
Completely Free & No Vendor Lock-In
- Runs entirely off Google’s Gemini CLI—no local model downloads or OpenAI API keys required.
- 100% local environment: your code and projects stay on your machine in
~/Gemmit_Projects. - No vendor lock-in: build, customize, and extend however you like.
- Scoped by default: Gemmit automatically “scopes out” tasks, analyzes your project, and proposes context-aware actions.
Seamless Mobile Integration
- Works with gemmit-app for on-the-go AI edits and project management from your phone.
🚀 Key Features
- AI-Powered Chat Interface: Real-time streaming conversations with Gemini 2.5 Flash over WebSockets.
- Project Scaffolding: Automatic creation of new projects under
~/Gemmit_Projectsfollowing the PocketFlow methodology. - File Operations: Browse, create, read, update, and delete files directly in-app.
- Scoped Intelligence: AI introspects your existing codebase and suggests context-aware changes.
- Model Context Protocol (MCP) Support: Configure custom M(odel)C(ontext)P(ipeline) servers via
.gemmit/settings.json. - Extensible CLI Core: Leverage the full power of
gemini-cliunder the hood—swap in any Gemini-based model. - Auto-Updates: Built-in GitHub Releases integration for seamless version management.
- Cross-Platform: Packaged for macOS (Intel & Apple Silicon), Windows, and Linux.
📁 Project Architecture
gemmit/
├── desktop/ # Electron frontend application
│ ├── src/ # Main Electron process and renderer
│ ├── assets/ # Icons and static assets
│ ├── build/ # Build configurations and entitlements
│ ├── resources/ # Bundled resources (binaries, etc.)
│ └── electron-builder.yaml # Build configuration
├── server/ # Python backend service
│ ├── backend.py # WebSocket server and AI integration
│ └── requirements.txt # Python dependencies
├── app/ # Web UI components
│ ├── index.html # Main application interface
│ └── chat.html # Chat interface
├── scripts/ # Build and deployment scripts
│ ├── build_backend.sh # Backend compilation script
│ └── prepare_tree.sh # Project setup utilities
├── ai_guidelines.md # AI assistant behavior guidelines
└── pocketflowguide.md # Development methodology guide
🛠️ Development Setup
Prerequisites
- Node.js 18+ for Electron development
- Python 3.8+ for backend services
- Gemini CLI installed (automatically handled by gemmit)
- macOS/Windows/Linux (cross-platform support)
Installation
# Clone the repository
git clone https://github.com/tcmartin/gemmit.git
cd gemmit
# Install desktop dependencies
cd desktop
npm install
# Install Python dependencies
cd ../server
pip install -r requirements.txt
# Build the backend binary
cd ../scripts
./build_backend.sh
#or if on windows .\build_backend.ps1
cd ../desktop
npm run build:mac
#or win, linux, etc
Running in Development
# Start the Electron app
cd desktop
npm start
# Or run backend separately for debugging
cd server
python backend.py
📦 Building for Production
Build Desktop Application
cd desktop
npm run builder
Build Targets
- macOS:
.dmginstaller (Intel & Apple Silicon) - Windows:
.exeinstaller (NSIS) - Linux: AppImage and
.debfor Debian/Ubuntu
Distribution Files
Built apps output to desktop/dist/ with names like:
gemmit-1.0.3.dmggemmit-1.0.3-arm64.dmggemmit Setup 1.0.3.exegemmit-1.0.3.AppImagedesktop_1.0.3_amd64.deb
🔧 Configuration & Environment Variables
| Variable | Description | Default |
|---|---|---|
GEMINI_PATH |
Path to your gemini CLI binary |
gemini |
GENERATIONS_DIR |
Workspace root for projects | ~/Gemmit_Projects |
OUTPUT_DIR |
Directory for generated assets | same as GENERATIONS_DIR |
PORT |
WebSocket server port | 8000 |
HOST |
Server host address | 127.0.0.1 |
🗂️ Model Context Protocol Example
Create a .gemini/settings.json file inside your ~/Gemmit_Projects/.gemini/ folder:
{
"theme": "GitHub",
"mcpServers": {
"imagegen": {
"command": "npx",
"args": ["imagegen-mcp", "--models", "gpt-image-1"],
"env": {
"OPENAI_API_KEY": ""
}
},
"playwright": {
"command": "npx",
"args": ["@playwright/mcp@latest"]
}
},
"hideTips": false
}
This tells Gemmit how to spin up external MCP servers for image generation, automated end-to-end testing, or anything else you can script.
📥 Installation for Users
macOS
# Download and install Gemmit
# 1. Download the appropriate .dmg from Releases
# 2. Open and drag Gemmit to Applications
# 3. If you see “Gemmit is damaged”, run:
sudo xattr -rd com.apple.quarantine /Applications/Gemmit.app
# Or use the helper script:
curl -sSL https://raw.githubusercontent.com/tcmartin/gemmit/master/scripts/fix_macos_gatekeeper.sh | bash
Windows
# Download and run the Setup .exe (ignore SmartScreen warnings)
Linux
# AppImage
chmod +x gemmit-1.0.3.AppImage
./gemmit-1.0.3.AppImage
# DEB
sudo dpkg -i desktop_1.0.3_amd64.deb
🎯 Usage Workflow
- Initialize: Launch Gemmit, point it at or create a project in
~/Gemmit_Projects/. - Scope: Gemmit analyzes your code and suggests next steps.
- Chat: Use the built-in chat UI to prompt Gemini for code, docs, or tests.
- File Ops: Modify, save, or generate new files—all from within the app.
- Iteration: Repeat with PocketFlow methodology—design, implement, optimize.
🔌 WebSocket API
Endpoint: ws://localhost:8000
Chat Prompt
{ "type": "prompt", "prompt": "Generate a React login form", "conversationId": "abc-123" }
File Listing
{ "type": "list_files" }
Save File
{ "type": "save_file", "filename": "LoginForm.jsx", "content": "" }
🚢 Deployment & Auto-Updates
- Uses
electron-updaterfor background update checks. - Releases hosted on GitHub trigger installer downloads.
🤝 Contributing
- Fork, branch, code, PR.
- Follow PocketFlow in
pocketflowguide.md. - Test on all platforms.
📄 License
MIT. See LICENSE.
🙏 Acknowledgments
- Google Gemini
- Electron
- PocketFlow
- Open Source Community
Built with ❤️ by Trevor Martin
Install
npx imagegen-mcp --models gpt-image-1Configuration
{
"theme": "GitHub",
"mcpServers": {
"imagegen": {
"command": "npx",
"args": ["imagegen-mcp", "--models", "gpt-image-1"],
"env": {
"OPENAI_API_KEY": "<your key or env var>"
}
},
"playwright": {
"command": "npx",
"args": ["@playwright/mcp@latest"]
}
},
"hideTips": false
}