From 7d87126ee803a67ad911b2ce5c6056dcb9376bf1 Mon Sep 17 00:00:00 2001 From: Colby McHenry Date: Sun, 17 May 2026 19:27:05 -0500 Subject: [PATCH] =?UTF-8?q?release:=200.7.7=20(multi-agent=20installer=20?= =?UTF-8?q?=E2=80=94=20Cursor,=20Codex,=20opencode)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 55 +++++++++++++++++++++++++++++++++++++++++++++++ package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 58 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b1124e4..da09c15 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,61 @@ a [GitHub Release](https://github.com/colbymchenry/codegraph/releases) tagged This project follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.7.7] - 2026-05-17 + +### Added +- **Multi-agent installer** (closes [#137](https://github.com/colbymchenry/codegraph/issues/137)). + `codegraph install` now opens with a multi-select prompt for **Claude Code**, + **Cursor**, **Codex CLI**, and **opencode** — detected agents are pre-checked. + Each writes its native MCP config + instructions file (e.g. `~/.cursor/mcp.json` + + `.cursor/rules/codegraph.mdc`, `~/.codex/config.toml` + `~/.codex/AGENTS.md`, + `~/.config/opencode/opencode.json`). The runtime MCP server was already + agent-agnostic; this brings the installer to parity. +- Non-interactive install flags for scripting / CI: + `--target=`, `--location=`, `--yes`, + `--no-permissions`, `--print-config `. +- `codegraph init` now auto-wires project-local agent surfaces for any agent + configured globally. In practice: Cursor's `.cursor/rules/codegraph.mdc` + is dropped on `init` so a single global `codegraph install` works in every + project you open — no per-project re-install needed. + +### Fixed +- **Cursor**: globally-installed codegraph reported "not initialized" in every + workspace because Cursor launches MCP-server subprocesses with the wrong + working directory and doesn't pass `rootUri` in the MCP initialize call. + We now inject `--path` into Cursor's MCP args — absolute path for local + installs, `${workspaceFolder}` for global installs. + +### Changed +- Agent-instructions template is now agent-agnostic. The previous template was + inherited from the Claude-only era and prescribed "spawn an Explore agent" — + a Claude Code-specific concept that confused Cursor's and Codex's agents and + caused them to fall back to native grep even with codegraph available. The + new template adds explicit "trust codegraph results, don't re-verify with + grep" guidance and a clear tool-by-question matrix. Applies to + `~/.claude/CLAUDE.md`, `.cursor/rules/codegraph.mdc`, and `~/.codex/AGENTS.md`. +- `codegraph install` prompt order: agent picker is now step 1, before the + PATH-install and location prompts. +- Disambiguated "global" wording in install prompts ("Install codegraph CLI on + your PATH?" vs "Apply agent configs to all your projects, or just this one?") + — both used to say "Global" and read as duplicates. + +### Internal +- New `AgentTarget` interface in `src/installer/targets/` — adding a 5th agent + (Continue, Zed, Windsurf, …) is a new file + one entry in `registry.ts`. +- Hand-rolled TOML serializer for Codex (`src/installer/targets/toml.ts`) — no + new dependency, scoped to the `[mcp_servers.codegraph]` table only, sibling + tables and `[[array_of_tables]]` preserved verbatim. +- +47 parameterized contract tests across the 4 targets — install idempotency, + sibling preservation, uninstall reverses install, byte-equal re-runs return + `unchanged`, partial-state recovery for Codex. + +Based on substantive draft by [@andreinknv](https://github.com/andreinknv) +([fork commit `c5165e4`](https://github.com/andreinknv/codegraph/commit/c5165e4)). +Thank you. + +[0.7.7]: https://github.com/colbymchenry/codegraph/releases/tag/v0.7.7 + ## [0.7.6] - 2026-05-13 ### Fixed diff --git a/package-lock.json b/package-lock.json index 3cd2081..50afb53 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@colbymchenry/codegraph", - "version": "0.7.6", + "version": "0.7.7", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@colbymchenry/codegraph", - "version": "0.7.6", + "version": "0.7.7", "license": "MIT", "dependencies": { "@clack/prompts": "^1.3.0", diff --git a/package.json b/package.json index f3f3588..09de218 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@colbymchenry/codegraph", - "version": "0.7.6", + "version": "0.7.7", "description": "Supercharge Claude Code with semantic code intelligence. 94% fewer tool calls • 77% faster exploration • 100% local.", "main": "dist/index.js", "types": "dist/index.d.ts",