Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,347 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GG Coder

Cause the other coding agents piss me off.

GG Coder desktop release ggcoder npm version MIT License YouTube Skool


⭐ GG Coder, the desktop app

This is the main thing. A real desktop app, not a chat box with a code theme. Every window is its own agent, pointed at its own project folder, running real tools on your machine.

Download for macOS Download for Windows

Signed and notarized on macOS. It updates itself, so you install it once and forget about it.

As many projects as you want, all going at once

Yeah, you can split a terminal into panes. That's where this workflow came from. The difference is this is actual software now: real OS windows you can move between desktops, tile with one click, full-screen individually, and pick up with your mouse.

Open GG Coder on your side project in one window, your client's Next.js app in another, a Rust thing in a third, a landing page in a fourth. Each window runs its own agent, its own folder, its own model, its own history. Nothing bleeds between them.

Six GG Coder windows tiled in a grid, each on a different project running a different model

Six projects, six different models (Claude, Codex, a local qwen3-coder, Gemini, Kimi, GLM), all going at the same time. And six isn't the ceiling either. Tile 2, 4, 6, or hit auto-arrange and it lays out however many you've got open.

It stays light

The whole shell is Rust. No Electron, no bundled browser engine sitting in RAM per window. It uses the renderer your OS already ships, and each window's agent only costs you something while it's actually running. Six windows open is a normal Tuesday, not a fan event.

GG Coder home screen

Everything else it does

It finds the projects you're already working on

Not just GG Coder ones. It digs up everything you've touched in Claude Code and Codex too. Pick one, keep going.

Project picker listing discovered projects

You can actually see what it's doing

Chat stays readable. Tools stream in a pinned panel at the bottom, so you see every file it touches and every command it runs without your conversation turning into a wall of JSON. Git branch, uncommitted count, open issues and PRs up top. Context %, thinking level and both models down bottom.

GG Coder mid-run, with the live tool panel streaming edits and a test run

Use whatever model you want

Anthropic, OpenAI/Codex, Gemini, Kimi, GLM, MiniMax, DeepSeek, Xiaomi MiMo, xAI, OpenRouter. OAuth or API key, your call. Swap models mid-conversation, nobody's stopping you.

Provider login hub with OAuth and API-key options

Including the ones running on your own machine

Ollama, LM Studio, llama.cpp and vLLM get found automatically on their normal ports. No config, no flags. Real context windows and capabilities come from the server itself, so a model that can't call tools gets flagged right here instead of blowing up on your first prompt.

Local model discovery showing a running Ollama server and its models

Autopilot, the one nobody knows about

Flip Autopilot on and Ken (a mentor agent) reviews every finished run. If the work's not good enough he sends GG Coder straight back in with specific feedback, and it keeps going until he signs off. You go make coffee.

Autopilot loop: GG Coder ships a change, Ken bounces it with feedback, GG Coder fixes it, Ken signs off

Real loop above: it built a rate limiter, Ken caught that the bucket was per-process and sent it back, it moved the thing into Redis and added a test, Ken signed off. Nobody typed anything in between.

It can see

Drag in a screenshot. Paste a design. Throw a video at it. Video goes straight to the models that handle it (Gemini 3.x, Kimi K3, MiniMax M3, MiMo-V2.5). For the ones that don't, the agent gets the file and reaches for ffmpeg itself.

Plan mode

Read-only poking around first, a written plan you approve, then it goes. For the stuff you really don't want it improvising on.

It catches its own type errors

Every edit gets checked by a real language server. TypeScript ships in the box, zero setup, so type errors get caught and fixed in the same turn it created them. Python, Go, Rust and C/C++ kick in if their toolchain is on your PATH.

MCP, subagents, memory, the works

Paste any claude mcp add … line and it just works. Spawn subagents for parallel work. Project memory, notes, chat export, prompt enhancement, your own slash commands in .gg/commands/*.md.

It watches your quota

Live usage meter in the title bar. How much of your 5-hour and weekly window you've burned, and when it resets. No more surprise rate limits.

And it's a bit stupid, on purpose

XP, ranks and streaks for shipping. Sound. ASCII banners. Webcam gaze focus if you want your eyeballs to switch windows for you.

Run it from source

git clone https://github.com/KenKaiii/gg-framework.git
cd gg-framework
pnpm install
pnpm --filter @kenkaiiii/ggcoder build   # build the sidecar first
cd gg-app && pnpm tauri dev

Packaging stuff (bundled Node runtime, single-file sidecar, code signing) is in gg-app/DISTRIBUTION.md.


⌨️ The CLI

Same agent, in your terminal. The app is the face, this is the engine.

npm i -g @kenkaiiii/ggcoder
ggcoder

OAuth login so there's no API keys to paste, full terminal UI, tools, MCP, LSP diagnostics, session resume. → packages/ggcoder


🧱 The framework underneath

Every layer ships on its own. Take one, take all of them.

Package What it does README
@kenkaiiii/gg-ai One streaming API for every provider up there packages/gg-ai
@kenkaiiii/gg-agent Agent loop with multi-turn tool execution packages/gg-agent
@kenkaiiii/gg-core Shared guts: model registry, OAuth, auth storage, paths packages/gg-core
@kenkaiiii/ggcoder The CLI, plus the sidecar the desktop app runs packages/ggcoder
@kenkaiiii/gg-boss Drives a bunch of workers across projects from one chat packages/gg-boss
@kenkaiiii/gg-ai (standalone)
  └─► @kenkaiiii/gg-agent
        └─► @kenkaiiii/gg-core
              ├─► @kenkaiiii/ggcoder ──► GG Coder desktop app ⭐
              └─► @kenkaiiii/gg-boss

The desktop app forks zero agent logic. Windows, IPC and UI live in gg-app/. Everything else is the exact same spine the CLI runs.

What do I actually need?

You want to... Use
Code with a real UI, across as many projects as you want Download GG Coder
Code in your terminal npm i -g @kenkaiiii/ggcoder
Run a bunch of agents across projects from one chat npm i -g @kenkaiiii/gg-boss
Build your own agent that calls tools and loops npm i @kenkaiiii/gg-agent
Stream from any LLM provider with one API npm i @kenkaiiii/gg-ai

For devs

pnpm install
pnpm build      # tsc across all packages
pnpm check      # typecheck
pnpm test       # vitest

TypeScript 5.9 · pnpm workspaces · Tauri 2 · React 19 · Vite 7 · Ink 6 · Vitest 4 · Zod v4


Come hang out


License

MIT


Less bloat. More coding. Every model. Every project. One window each.
Rust under the hood, so it stays out of your way.

Download GG Coder Install ggcoder

About

Modular TypeScript framework for building LLM-powered apps. Unified streaming API, agent loop, and CLI coding agent. Four providers. Zero bloat.

Topics

Resources

Stars

26 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages