Files
codeg/README.md
2026-03-28 20:40:28 +08:00

181 lines
6.5 KiB
Markdown

# Codeg
[![Release](https://img.shields.io/github/v/release/xintaofei/codeg)](https://github.com/xintaofei/codeg/releases)
[![License](https://img.shields.io/github/license/xintaofei/codeg)](./LICENSE)
[![Tauri](https://img.shields.io/badge/Tauri-2.x-24C8DB)](https://tauri.app/)
[![Next.js](https://img.shields.io/badge/Next.js-16-black)](https://nextjs.org/)
<p>
<strong>English</strong> |
<a href="./docs/readme/README.zh-CN.md">简体中文</a> |
<a href="./docs/readme/README.zh-TW.md">繁體中文</a> |
<a href="./docs/readme/README.ja.md">日本語</a> |
<a href="./docs/readme/README.ko.md">한국어</a> |
<a href="./docs/readme/README.es.md">Español</a> |
<a href="./docs/readme/README.de.md">Deutsch</a> |
<a href="./docs/readme/README.fr.md">Français</a> |
<a href="./docs/readme/README.pt.md">Português</a> |
<a href="./docs/readme/README.ar.md">العربية</a>
</p>
Codeg (Code Generation) is an enterprise-grade multi-agent coding workspace.
It unifies local AI coding agents (Claude Code, Codex CLI, OpenCode, Gemini CLI,
OpenClaw, Cline, etc.) in a desktop app and web service — enabling remote development from
any browser — with session aggregation, parallel `git worktree` development,
MCP/Skills management, and integrated Git/file/terminal workflows.
## Main Interface
![Codeg Light](./docs/images/main-light.png#gh-light-mode-only)
![Codeg Dark](./docs/images/main-dark.png#gh-dark-mode-only)
## Session tile display
![Codeg Light](./docs/images/main2-light.png#gh-light-mode-only)
![Codeg Dark](./docs/images/main2-dark.png#gh-dark-mode-only)
## Settings
| Agents | MCP | Skills | Version Control | Web Service |
| :---: | :---: | :---: | :---: | :---: |
| ![Agents](./docs/images/1-light.png#gh-light-mode-only) ![Agents](./docs/images/1-dark.png#gh-dark-mode-only) | ![MCP](./docs/images/2-light.png#gh-light-mode-only) ![MCP](./docs/images/2-dark.png#gh-dark-mode-only) | ![Skills](./docs/images/3-light.png#gh-light-mode-only) ![Skills](./docs/images/3-dark.png#gh-dark-mode-only) | ![Version Control](./docs/images/4-light.png#gh-light-mode-only) ![Version Control](./docs/images/4-dark.png#gh-dark-mode-only) | ![Web Service](./docs/images/5-light.png#gh-light-mode-only) ![Web Service](./docs/images/5-dark.png#gh-dark-mode-only) |
## Highlights
- Unified multi-agent workspace in the same project
- Local session ingestion with structured rendering
- Parallel development with built-in `git worktree` flows
- **Project Boot** — visually scaffold new projects with live preview
- MCP management (local scan + registry search/install)
- Skills management (global and project scope)
- Git remote account management (GitHub and other Git servers)
- Web service mode — access Codeg from any browser for remote work
- Integrated engineering loop (file tree, diff, git changes, commit, terminal)
## Project Boot
Create new projects visually with a split-pane interface: configure on the left, preview in real time on the right.
![Project Boot Light](./docs/images/project-boot-light.png#gh-light-mode-only)
![Project Boot Dark](./docs/images/project-boot-dark.png#gh-dark-mode-only)
### What it does
- **Visual Configuration** — pick style, color theme, icon library, font, border radius, and more from dropdowns; the preview iframe updates instantly
- **Live Preview** — see your chosen look & feel rendered in real time before creating anything
- **One-Click Scaffolding** — hit "Create Project" and the launcher runs `shadcn init` with your preset, framework template (Next.js / Vite / React Router / Astro / Laravel), and package manager of choice (pnpm / npm / yarn / bun)
- **Package Manager Detection** — automatically checks which package managers are installed and shows their versions
- **Seamless Integration** — the newly created project opens in Codeg's workspace right away
Currently supports **shadcn/ui** project scaffolding, with a tab-based design ready for more project types in the future.
## Supported Scope
### 1) Session Ingestion (historical sessions)
| Agent | Environment Variable Path | macOS / Linux Default | Windows Default |
| --- | --- | --- | --- |
| Claude Code | `$CLAUDE_CONFIG_DIR/projects` | `~/.claude/projects` | `%USERPROFILE%\\.claude\\projects` |
| Codex CLI | `$CODEX_HOME/sessions` | `~/.codex/sessions` | `%USERPROFILE%\\.codex\\sessions` |
| OpenCode | `$XDG_DATA_HOME/opencode/opencode.db` | `~/.local/share/opencode/opencode.db` | `%USERPROFILE%\\.local\\share\\opencode\\opencode.db` |
| Gemini CLI | `$GEMINI_CLI_HOME/.gemini` | `~/.gemini` | `%USERPROFILE%\\.gemini` |
| OpenClaw | — | `~/.openclaw/agents` | `%USERPROFILE%\\.openclaw\\agents` |
| Cline | `$CLINE_DIR` | `~/.cline/data/tasks` | `%USERPROFILE%\\.cline\\data\\tasks` |
> Note: environment variables take precedence over fallback paths.
### 2) ACP real-time sessions
Currently supports 6 agents: Claude Code, Codex CLI, Gemini CLI, OpenCode, OpenClaw, and Cline.
### 3) Skills settings support
- Supported: `Claude Code / Codex / OpenCode / Gemini CLI / OpenClaw / Cline`
- More adapters will be added incrementally
### 4) MCP target apps
Current writable targets:
- Claude Code
- Codex
- OpenCode
## Quick Start
### Requirements
- Node.js `>=22` (recommended)
- pnpm `>=10`
- Rust stable (2021 edition)
- Tauri 2 build dependencies
Linux (Debian/Ubuntu) example:
```bash
sudo apt-get update
sudo apt-get install -y \
libwebkit2gtk-4.1-dev \
libayatana-appindicator3-dev \
librsvg2-dev \
patchelf
```
### Development
```bash
pnpm install
# Full desktop app (Tauri + Next.js)
pnpm tauri dev
# Frontend only
pnpm dev
# Frontend static export to out/
pnpm build
# Desktop build
pnpm tauri build
# Lint
pnpm eslint .
# Rust checks (run in src-tauri/)
cargo check
cargo clippy
cargo build
```
## Architecture
```text
Next.js 16 (Static Export) + React 19
|
| invoke()
v
Tauri 2 Commands (Rust)
|- ACP Manager
|- Parsers (local session ingestion)
|- Git / File Tree / Terminal runtime
|- MCP marketplace + local config writer
|- SeaORM + SQLite
|
v
Local Filesystem / Local Agent Data / Git Repos
```
## Constraints
- Frontend uses static export (`output: "export"`)
- No Next.js dynamic routes (`[param]`); use query params instead
- Tauri command params: frontend `camelCase`, Rust `snake_case`
- TypeScript strict mode
## Privacy & Security
- Local-first by default for parsing, storage, and project operations
- Network access happens only on user-triggered actions
- System proxy support for enterprise environments
## License
Apache-2.0. See `LICENSE`.