https://github.com/tcmartin/gemmit
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
https://github.com/tcmartin/gemmit
ai free gemini-cli gui mcp vibe-coding
Last synced: 25 days ago
JSON representation
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
- Host: GitHub
- URL: https://github.com/tcmartin/gemmit
- Owner: tcmartin
- License: mit
- Created: 2025-07-11T02:08:55.000Z (8 months ago)
- Default Branch: master
- Last Pushed: 2025-08-24T02:55:41.000Z (7 months ago)
- Last Synced: 2025-08-24T11:58:05.442Z (7 months ago)
- Topics: ai, free, gemini-cli, gui, mcp, vibe-coding
- Language: Python
- Homepage: https://gemmit.org
- Size: 6.99 MB
- Stars: 17
- Watchers: 2
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Gemmit - AI-Powered Development Assistant
**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](https://github.com/tcmartin/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_Projects` following 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-cli` under 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
```plaintext
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
```bash
# 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
```bash
# 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
```bash
cd desktop
npm run builder
```
### Build Targets
* **macOS**: `.dmg` installer (Intel & Apple Silicon)
* **Windows**: `.exe` installer (NSIS)
* **Linux**: AppImage and `.deb` for Debian/Ubuntu
### Distribution Files
Built apps output to `desktop/dist/` with names like:
* `gemmit-1.0.3.dmg`
* `gemmit-1.0.3-arm64.dmg`
* `gemmit Setup 1.0.3.exe`
* `gemmit-1.0.3.AppImage`
* `desktop_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:
```json
{
"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
```bash
# 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
```bash
# Download and run the Setup .exe (ignore SmartScreen warnings)
```
### Linux
```bash
# 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
1. **Initialize**: Launch Gemmit, point it at or create a project in `~/Gemmit_Projects/`.
2. **Scope**: Gemmit analyzes your code and suggests next steps.
3. **Chat**: Use the built-in chat UI to prompt Gemini for code, docs, or tests.
4. **File Ops**: Modify, save, or generate new filesβall from within the app.
5. **Iteration**: Repeat with PocketFlow methodologyβdesign, implement, optimize.
## π WebSocket API
**Endpoint**: `ws://localhost:8000`
### Chat Prompt
```json
{ "type": "prompt", "prompt": "Generate a React login form", "conversationId": "abc-123" }
```
### File Listing
```json
{ "type": "list_files" }
```
### Save File
```json
{ "type": "save_file", "filename": "LoginForm.jsx", "content": "" }
```
## π’ Deployment & Auto-Updates
* Uses `electron-updater` for background update checks.
* Releases hosted on GitHub trigger installer downloads.
## π€ Contributing
1. Fork, branch, code, PR.
2. Follow PocketFlow in `pocketflowguide.md`.
3. Test on all platforms.
## π License
MIT. See [LICENSE](LICENSE).
## π Acknowledgments
* **Google Gemini**
* **Electron**
* **PocketFlow**
* **Open Source Community**
---
*Built with β€οΈ by Trevor Martin*
[](https://buymeacoffee.com/tcmartin)