Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitGo – Local AI Deployer

GitGo is a desktop application that turns any GitHub repository into a running application locally with a single click. Designed for non-developers, researchers, and hobbyists, GitGo handles environment setup, containerization, configuration, and error troubleshooting automatically using local Docker and AI LLM agents.

GitGo Application Screenshot

🌐 Live Documentation Site: View GitHub Pages Website (Deployable via GitHub Pages /docs directory)


Key Features

  • Automated Repository Analysis: Paste a public GitHub URL and GitGo will clone the repository, read documentation/dependencies, and automatically detect or generate Docker container configurations.
  • Dynamic Configuration Form (.env UI): Automatically extracts environment variable requirements (API keys, ports, DB URLs) and presents a clean, user-friendly form with helper text and tooltips.
  • Background Build & Execution: Runs Docker builds and container executions in the background with streaming, translated logs (translating raw build outputs into plain English).
  • AI Error Resolution ("Magic Button"): If a container build fails or crashes, GitGo analyzes the stderr/logs using OpenAI or Anthropic LLMs to auto-fix Dockerfiles or provide clear, actionable user instructions.
  • Secure Key Management: Stores API keys locally using OS keychain encryption (safeStorage).
  • Modern Glassmorphic UI: Designed with TailwindCSS, smooth micro-animations, interactive project management sidebar, and terminal log view.

Tech Stack

  • Desktop Framework: Electron.js
  • Frontend: React 19, TypeScript, TailwindCSS v3, Lucide Icons
  • Build Tooling: electron-vite, Vite
  • Container Runtime Engine: Docker Desktop CLI
  • AI Providers: OpenAI (gpt-4o) & Anthropic (claude-sonnet-4-20250514)

Prerequisites

  1. Docker Desktop: Must be installed and running on your machine.
  2. Git: Installed and available in your system path.
  3. LLM API Key: An API key from either OpenAI or Anthropic.

Getting Started

1. Install Dependencies

npm install

2. Development

Start the application in development mode with HMR:

npm run dev

3. Build & Package

To compile TypeScript and bundle the application for production:

# Type check & build assets
npm run build

# Package for your platform
npm run build:linux   # Linux (.AppImage / .deb)
npm run build:mac     # macOS (.dmg)
npm run build:win     # Windows (.exe)

Project Structure

├── src/
│   ├── main/                 # Electron main process
│   │   ├── index.ts          # Window creation & security headers
│   │   ├── ipc-handlers.ts   # IPC bridges between frontend and services
│   │   └── services/         # Core Node.js services
│   │       ├── docker.service.ts    # Docker CLI runner (execFile)
│   │       ├── git.service.ts       # Repo clone & directory parsing
│   │       ├── keystore.service.ts  # OS keychain API key storage
│   │       ├── llm.service.ts       # OpenAI & Anthropic API integrations
│   │       └── project.service.ts   # Local project metadata & state
│   ├── preload/              # Context bridge preload scripts
│   ├── renderer/             # React UI application
│   │   └── src/
│   │       ├── components/   # React UI components (Sidebar, Forms, Terminal)
│   │       ├── context/      # Global state reducer & context provider
│   │       └── assets/       # Global CSS & Tailwind design system
│   └── shared/               # Shared TypeScript interfaces & IPC definitions

Security

  • Process Isolation: Context isolation (contextIsolation: true) and sandboxing are enabled for renderer processes.
  • Input Validation: GitHub URLs are strictly validated; paths are checked against directory traversal risks; environment key names are sanitized.
  • Safe Command Execution: Commands are executed via execFile without shell interpolation.
  • Encrypted Storage: Sensitive API credentials are encrypted with native OS keychains before persisting to disk.

License

Distributed under the MIT License. See LICENSE for details.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages