* release: 0.7.7 (multi-agent installer — Cursor, Codex, opencode) * fix(installer): opencode .jsonc + AGENTS.md (0.7.8) v0.7.7 wrote ~/.config/opencode/opencode.json, but opencode reads opencode.jsonc by default — so the codegraph MCP entry never appeared in any opencode session. Also installs AGENTS.md so opencode's model reaches for codegraph_* tools instead of native Grep. - Prefer existing .jsonc, fall back to .json, default new installs to .jsonc. - Surgical edits via jsonc-parser preserve user comments and formatting across install / re-install / uninstall round-trips. - Install AGENTS.md (global ~/.config/opencode/AGENTS.md, local ./AGENTS.md) with the shared INSTRUCTIONS_TEMPLATE — same marker-delimited approach Codex uses. - +9 opencode-specific tests covering filename precedence, comment preservation, AGENTS.md install + sibling-content preservation, uninstall reverses both files. 575/575 tests pass. Hand-verified end-to-end: opencode session calls codegraph_node + codegraph_callers for a structural query, zero Grep calls. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs: overhaul CLAUDE.md and add scripts/release.sh + Cursor rules file Replaces the old Claude-only CLAUDE.md with a comprehensive guide covering the full project architecture, multi-agent installer, test conventions, NodeKind/EdgeKind reference, and release workflow. Key additions: - Documents the layered pipeline, all module paths, and the multi-target installer (targets/, registry.ts, AgentTarget interface). - Adds the Cursor `--path` quirk and the "update all three surfaces" rule when changing MCP tool guidance. - Documents `npm run eval`, `test:eval`, and the full set of build/test commands including single-file patterns. - `scripts/release.sh` — idempotent bash script that tags the current commit, pushes the tag, and creates a GitHub Release whose notes are extracted from the matching `## [X.Y.Z]` block in CHANGELOG.md. Safe to re-run after partial failure. - `.cursor/rules/codegraph.mdc` — Cursor-specific agent instructions (tool decision table, rules of thumb, index-lag warning) written by the installer and kept in sync with server-instructions.ts and instructions-template.ts. --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
5.1 KiB
5.1 KiB
Changelog
All notable changes to CodeGraph are documented here. Each entry also ships as
a GitHub Release tagged
vX.Y.Z, which is where most people will look.
This project follows Keep a Changelog and adheres to Semantic Versioning.
0.7.8 - 2026-05-17
Fixed
- opencode: install actually wires up the MCP server now. v0.7.7 wrote
~/.config/opencode/opencode.json, but opencode readsopencode.jsoncby default — so thecodegraphentry never showed up in any opencode session. The installer now prefers an existing.jsonc, falls back to.jsonwhen only that exists, and creates.jsoncfor greenfield installs. Re-runcodegraph install --target=opencodeafter upgrading so the entry lands in the file opencode actually reads.
Added
- opencode: installer now writes
AGENTS.md(global~/.config/opencode/AGENTS.md, local./AGENTS.md) with the same codegraph usage guidance the other agents already received. Without it, opencode's model would call nativeGrepinstead of thecodegraph_*tools it could see in its MCP list. - User comments and formatting in
opencode.jsoncsurvive install / re-install / uninstall round-trips — surgical edits viajsonc-parserrather than full-file rewrites.
0.7.7 - 2026-05-17
Added
- Multi-agent installer (closes #137).
codegraph installnow 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=<csv|auto|all|none>,--location=<global|local>,--yes,--no-permissions,--print-config <id>. codegraph initnow auto-wires project-local agent surfaces for any agent configured globally. In practice: Cursor's.cursor/rules/codegraph.mdcis dropped oninitso a single globalcodegraph installworks 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
rootUriin the MCP initialize call. We now inject--pathinto 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 installprompt 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
AgentTargetinterface insrc/installer/targets/— adding a 5th agent (Continue, Zed, Windsurf, …) is a new file + one entry inregistry.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
(fork commit c5165e4).
Thank you.
0.7.6 - 2026-05-13
Fixed
-
codegraphCLI failing withzsh: permission denied: codegraphafter a fresh global install. The published 0.7.5 tarball shippeddist/bin/codegraph.jswithout the executable bit, so the shell refused to run it through the npm symlink. The build nowchmod +x's the binary before packing.Already on 0.7.5? Either upgrade to 0.7.6, or unblock yourself in place:
chmod +x "$(npm root -g)/@colbymchenry/codegraph/dist/bin/codegraph.js"