Skip to content

Latest commit

 

History

History
171 lines (125 loc) · 6.84 KB

File metadata and controls

171 lines (125 loc) · 6.84 KB

< GEN ✦ />

Open-source AI coding assistant for the terminal

Release Go Report Card Go Reference License

Gen Code is a terminal coding assistant with pluggable LLM providers, search engines, personas, and skill/extension surfaces — fully compatible with Claude Code skills, plugins, and MCP servers. Implemented in Go as a single binary with concurrent multi-agent orchestration.

Features

Open architecture

Gen Code open architecture — four dimensions: model providers, search engines, role switching, and skills/extensions

  • LLM providers — Anthropic, OpenAI, Google, Moonshot, Alibaba, MiniMax, Z.ai (GLM); swap via /model.
  • Search backends — Exa, Tavily, Brave, Serper; swap via /search.
  • Personas — Markdown identities scoped to user or project; swap via /identity (details).
  • Skills & extensions — Claude Code skills, plugins, and MCP servers run unmodified; sandboxed subagents; lifecycle hooks (shell, LLM, agent, HTTP); auto-loaded project memory.

Engineering

  • Native performance — Single Go binary; see benchmark for measured numbers.
  • Event-driven coordination — Parallel subagent execution via a pub/sub hub (architecture).
  • Session persistence — Auto-save, resume, fork, and automatic context compaction.
  • Prompt prediction — Speculative completion of likely next prompts to reduce latency.

Installation

curl -fsSL https://raw.githubusercontent.com/genai-io/gen-code/main/install.sh | bash

Re-run to upgrade. To uninstall:

curl -fsSL https://raw.githubusercontent.com/genai-io/gen-code/main/install.sh | bash -s uninstall
Other methods

Go Install

go install github.com/genai-io/gen-code/cmd/gen@latest

Build from Source

git clone https://github.com/genai-io/gen-code.git
cd gen-code
go build -o gen ./cmd/gen
mkdir -p ~/.local/bin && mv gen ~/.local/bin/

Usage

gen                            # interactive
gen "explain this function"    # one-shot
cat main.go | gen "review"     # piped input
gen --continue                 # resume latest session
gen --resume                   # pick a past session

Run /model on first launch to connect a provider; /help lists all slash commands (/identity, /search, /skills, /agents, /mcp, /compact, /resume, …).

Keyboard: Shift+Tab permission mode · Ctrl+O expand tool details · Ctrl+C cancel · Ctrl+D exit.

Configuration

Config lives in ~/.gen/ (user) and <project>/.gen/ (project, overrides user). A GEN.md or CLAUDE.md at the project root is auto-loaded into the system prompt.

Credentials
Service Variable
Anthropic (Claude) ANTHROPIC_API_KEY or Vertex AI
OpenAI (GPT, o-series, Codex) OPENAI_API_KEY
Google (Gemini) GOOGLE_API_KEY
Moonshot (Kimi) MOONSHOT_API_KEY
Alibaba (Qwen, DeepSeek) DASHSCOPE_API_KEY
MiniMax MINIMAX_API_KEY
Z.ai (GLM) BIGMODEL_API_KEY
Exa search none (default)
Tavily search TAVILY_API_KEY
Brave search BRAVE_API_KEY
Serper search SERPER_API_KEY
Directory layout

User-level (~/.gen/):

providers.json    # Provider connections and current model
settings.json     # Permissions, hooks, env, identity
skills.json       # Skill states
identities/       # Custom personas (see /identity)
skills/           # Custom skill definitions
agents/           # Custom agent definitions
commands/         # Custom slash commands
plugins/          # Installed plugins
projects/         # Session transcripts + indexes

Project-level (.gen/):

settings.json      # Permissions, hooks, disabled tools
mcp.json           # MCP server definitions
identities/*.md    # Project-scoped personas (override user-level)
agents/*.md        # Subagent definitions
skills/*/SKILL.md  # Skills
commands/*.md      # Slash commands

Benchmark: Gen Code vs Claude Code

Compared with Claude Code v2.1.112 on Apple Silicon, same model (claude-sonnet-4-6):

Metric Gen Code Claude Code Advantage
Download size 12 MB 63 MB (+ Node.js 112 MB) 5x smaller
Disk footprint 38 MB 175 MB 4.6x smaller
Startup time ~0.01s ~0.20s 20x faster
Startup memory ~32 MB ~189 MB 5.8x less
Simple task ~2.4s / 39 MB ~10.4s / 286 MB 4.3x faster, 7.3x less memory
Tool-use task ~3.3s / 39 MB ~26.0s / 285 MB 7.9x faster, 7.2x less memory

Both tools have comparable features (hooks, skills, plugins, session, MCP, etc.). The performance gap comes from Go's native compilation, minimal architecture design, and lean prompt engineering — vs Node.js V8/JIT/GC runtime overhead.

See full details: docs/benchmark-gencode-vs-claudecode.md

Documentation

Related Projects

  • Claude Code — Anthropic's AI coding assistant
  • Aider — AI pair programming in terminal
  • Continue — Open-source AI code assistant

Contributing

Contributions welcome! See CONTRIBUTING.md for guidelines.

License

Apache License 2.0 - see LICENSE for details.