Skip to content

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

License

Notifications You must be signed in to change notification settings

tcmartin/gemmit

Repository files navigation

Gemmit Logo

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 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

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: .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:

{
  "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
}

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

  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

{ "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": "<code>" }

🚢 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.

🙏 Acknowledgments

  • Google Gemini
  • Electron
  • PocketFlow
  • Open Source Community

Built with ❤️ by Trevor Martin

Buy Me A Coffee

About

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

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors