CueCode is a fork of Zed — a spec-driven agent IDE with local/BYOK models by default, no zed.dev sign-in wall, and separate user data from Zed.
Upstream: Zed (GPL-3.0-or-later). See About in the app for full attribution.
Product and engineering specs live in the workspace .cursor/specs/ tree:
Phase 0 exit criteria and QA scripts are in 03-fork-and-rebrand §manual QA.
From this directory (CueCode-IDE/):
cargo run -p cuecode --bin cuecodeOr use the local helper:
./script/cuecode-localFresh config paths (no collision with Zed):
| Platform | Config / data |
|---|---|
| macOS | ~/Library/Application Support/CueCode/ |
| Linux | ~/.config/cuecode/ |
| Windows | %LOCALAPPDATA%\CueCode\ |
# 1. build + run (first build is slow — thousands of crates)
cd CueCode-IDE
cargo run -p cuecode --bin cuecode
# 2. open a project at startup
./target/debug/cuecode /path/to/project
# 3. run the agent panel: Cmd+R (macOS) / Ctrl+R (linux) → "agent: open"Config lives in assets/settings/default.json (defaults shipped with the app)
overlaid by user settings in the per-platform config dir above. Edit user
settings via Cmd+, → Settings Editor, or by editing the JSON directly.
For the canonical dev loop with the QA fixture:
# from monorepo root
./script/clone-qa-fixture-repo
cd CueCode-IDE && ./script/run-cuecode-dev ../cuecode-testing-repoCueCode is bring-your-own-key: the agent and inline edit predictions run against your own model providers — no zed.dev sign-in wall, no hosted billing.
- Agent chat — configure an OpenAI-compatible provider (GLM via Z.ai,
OpenAI, Ollama, etc.) under
language_models.openai_compatiblein settings. Add the API key via the in-app keychain (Settings → LLM Providers). - Edit predictions (inline Tab completions) — by default reuse the agent's
configured OpenAI-compatible provider, so a single API setup powers both chat
and inline predictions. The provider endpoint must support legacy
/completions(FIM-style) requests; a coder/FIM model gives the best results.
To use a dedicated endpoint/model for predictions:
{
"edit_predictions": {
"provider": "open_ai_compatible_api",
"open_ai_compatible_api": {
"api_url": "https://your-provider.example/v1",
"model": "your-coder-model",
"prompt_format": "infer",
"max_output_tokens": 64
}
}
}Full setup, modes (eager / subtle), and provider list:
docs/src/ai/edit-prediction.md and
docs/src/ai/llm-providers.md.
Shipped defaults (assets/settings/default.json, agent section) are tuned for
a Cursor-like compact streaming experience:
thinking_display: "preview"— compact thinking blocksexpand_edit_card: false— edit cards collapsed by defaultexpand_terminal_card: false— terminal cards collapsed by default
- Agent panel — Threads (chat) and Plan surfaces; see
docs/src/ai/agent-panel.md. - Planning Hub / Layout Studio — spec-driven build plans, multi-column
PulseBoard layout. Specs:
../.cursor/specs/design/16-planning-hub.md,../.cursor/specs/design/17-layout-studio.md. - Terminal threads —
docs/src/ai/terminal-threads.md.
cargo build -p cuecode --bin cuecode
./target/debug/cuecode --help # product name should say CueCodeInstall CLI to PATH (macOS, from the app): Command Palette → install cli.
| Platform | Script |
|---|---|
| macOS | script/bundle-mac |
| Linux | script/bundle-linux |
| Windows | script/bundle-windows.ps1 |
| Flatpak | script/flatpak/bundle-flatpak |
Rebrand regression gate:
./script/rebrand-check.shPhase 0 smoke (automated QA-P0):
./script/qa-p0.shRuns with --user-data-dir /tmp/cuecode-qa-* so your real CueCode config is not modified.
See CONTRIBUTING.md. Upstream Zed contribution docs remain below for reference where the fork has not diverged.
CueCode is based on Zed and inherits GPL-3.0-or-later obligations. Third-party license compliance uses script/generate-licenses and script/licenses/zed-licenses.toml (upstream naming).