Skip to content

feat(connect): Warp + Cline + Continue + Zed + Droid adapters (5 new)#677

Merged
rohitg00 merged 4 commits into
mainfrom
feat/connect-warp
May 27, 2026
Merged

feat(connect): Warp + Cline + Continue + Zed + Droid adapters (5 new)#677
rohitg00 merged 4 commits into
mainfrom
feat/connect-warp

Conversation

@rohitg00
Copy link
Copy Markdown
Owner

@rohitg00 rohitg00 commented May 27, 2026

Five new connect adapters. `ADAPTERS` bumps 11 → 16.

Agent Config path Wrapper Notes
Warp `~/.warp/.mcp.json` `mcpServers` Skills auto-discover from `.claude/skills/` — installing the Claude Code plugin surfaces all 8 agentmemory skills in Warp's slash-command palette with zero extra wiring
Cline (CLI) `~/.cline/mcp.json` `mcpServers` VS Code extension uses a different path (globalStorage); README documents the manual paste
Continue.dev `~/.continue/config.yaml` (preferred) or `config.json` (legacy) `mcpServers` (array) Three-branch logic: creates fresh `config.yaml` when neither exists, modifies legacy `config.json` when present, returns stub with copy-pasteable block when `config.yaml` exists (no YAML parser in tree, refuses silent mutation of user's annotated yaml)
Zed `~/.config/zed/settings.json` `context_servers` (NOT `mcpServers`) Verified XDG path on macOS too — `~/Library/Application Support/Zed/` is runtime data only, not user settings
Droid (Factory.ai) `~/.factory/mcp.json` `mcpServers` with required `type: stdio` `type` field is REQUIRED per Factory.ai's schema — first cut missed it; fixed in this PR

Shared helper extensions

`createJsonMcpAdapter` gained two options:

  • `wrapperKey?: string` — defaults to `mcpServers`. Zed sets it to `context_servers`. Any future agent with a different root key plugs in without copy-paste.
  • `extraEntryFields?: Record<string, unknown>` — merged into the agentmemory entry. Droid uses `{ type: "stdio" }`. Other agents that need extras (`disabled`, `autoApprove`, etc.) plug in the same way.

Continue uses a custom adapter (array form + yaml branch) — separate from the shared helper.

Doc verification (end-to-end)

After the first cut, re-verified every adapter against its authoritative docs. Two real schema bugs caught:

  1. Droid `type` field missing → Factory.ai would reject the entry at parse time. Fixed.
  2. Continue writing deprecated `config.json` → modern Continue prefers `config.yaml` and ignores `config.json` when both exist. Rewrote logic to handle the precedence correctly without adding a YAML dependency.

Native-citizen win

Beyond MCP wiring: Warp's skill discovery already scans `.claude/skills/`, `.codex/skills/`, `.cursor/skills/`. Once a user installs the agentmemory Claude Code plugin, all 8 memory skills (`remember`, `recall`, `recap`, `handoff`, `forget`, `commit-context`, `commit-history`, `session-history`) surface in Warp's slash-command palette automatically.

Deferred

  • Goose — YAML config with `extensions:` + `cmd` (not `mcpServers:` + `command`). Adding a YAML dependency for one adapter isn't worth the bundle weight. README documents the manual `goose configure → Add Extension → MCP` path.
  • Env var interpolation — `${VAR:-default}` syntax in the shared `AGENTMEMORY_MCP_BLOCK` is documented only for Claude Code. Whether Warp / Cline / Continue / Zed / Droid expand bash-style vs pass literally — none of their docs say. Pre-existing repo-wide concern across all 16 adapters; not a regression from this PR. Worth a separate follow-up issue.

Verification

  • `npm run build` clean
  • `npx vitest run` → 1182 unit tests pass, 17 skipped, 1 pre-existing integration-test failure (needs running server, unrelated)
  • 32 connect tests cover detect-when-absent + install-writes-correct-shape for all 5 new agents (Continue gets 3 branch cases)

Sources

Summary by CodeRabbit

  • New Features

    • Added Warp as a supported agent with CLI connect support and Claude Code skills auto-discovery.
    • Added new CLI adapters for Cline, Continue.dev, Droid (Factory.ai), and Zed; the CLI can now list and wire these agents.
    • JSON-based adapter behavior now supports configurable top-level wrapper keys for MCP entries.
  • Tests

    • Expanded test coverage for all new adapters and adapter discovery.
  • Documentation

    • README updated with Warp entry and setup guidance.

Review Change Stack

Warp stores MCP config at ~/.warp/.mcp.json with the same mcpServers schema as Claude Code, so the shared createJsonMcpAdapter wires it in 17 lines. Adds Warp to the connect surface (12 adapters total) and the README agents grid.

Native-citizen second-class win: Warp's skill discovery already scans .claude/skills/ — installing the existing agentmemory Claude Code plugin makes the 8 memory skills (remember, recall, recap, handoff, forget, commit-context, commit-history, session-history) appear in Warp's slash-command palette with zero extra wiring.

Tests bumped: ADAPTERS.length 11 -> 12, knownAgents includes 'warp', new connect-new-agents Warp install case.
@vercel
Copy link
Copy Markdown

vercel Bot commented May 27, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
agentmemory Ready Ready Preview, Comment May 27, 2026 12:43pm

Request Review

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 27, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: b192171f-8218-4af9-9202-eacdcdf237eb

📥 Commits

Reviewing files that changed from the base of the PR and between 343e8b2 and ee80f95.

📒 Files selected for processing (9)
  • README.md
  • src/cli/connect/cline.ts
  • src/cli/connect/continue.ts
  • src/cli/connect/droid.ts
  • src/cli/connect/index.ts
  • src/cli/connect/json-mcp-adapter.ts
  • src/cli/connect/zed.ts
  • test/cli-connect.test.ts
  • test/connect-new-agents.test.ts
✅ Files skipped from review due to trivial changes (2)
  • src/cli/connect/index.ts
  • README.md
🚧 Files skipped from review as they are similar to previous changes (7)
  • test/cli-connect.test.ts
  • src/cli/connect/cline.ts
  • test/connect-new-agents.test.ts
  • src/cli/connect/zed.ts
  • src/cli/connect/json-mcp-adapter.ts
  • src/cli/connect/droid.ts
  • src/cli/connect/continue.ts

📝 Walkthrough

Walkthrough

Adds multiple new CLI connect adapters (Warp, Cline, Droid, Zed, Continue), extends the JSON MCP adapter to support a configurable top-level wrapperKey, registers adapters in the CLI registry, updates tests to cover detection/installation, and documents Warp in the README.

Changes

Connect adapters and json-mcp-adapter

Layer / File(s) Summary
Json MCP adapter: wrapperKey support
src/cli/connect/json-mcp-adapter.ts
Adds optional wrapperKey?: string and updates install/read/write/verification to use wrapperKey (defaults to mcpServers).
Continue.dev adapter implementation
src/cli/connect/continue.ts
Full Continue adapter: detect/install flow, types/helpers, backup/create parent dir, atomic JSON write, and post-write verification.
Warp, Cline, Droid, Zed adapter modules
src/cli/connect/warp.ts, src/cli/connect/cline.ts, src/cli/connect/droid.ts, src/cli/connect/zed.ts
New adapter modules exporting MCP JSON adapter configs with detect paths, config paths, display/docs metadata, and protocol notes (Warp uses ~/.warp/.mcp.json).
CLI adapter registration
src/cli/connect/index.ts
Imports and registers the new adapters (including warp) in the CLI ADAPTERS array for discovery and wiring.
Tests for new adapters and registry
test/cli-connect.test.ts, test/connect-new-agents.test.ts
Adds Vitest suites validating detect/install for Warp, Cline, Droid, Zed, Continue; updates knownAgents expectations and ADAPTERS length assertion.
User-facing documentation
README.md
Adds Warp entry to the agents capability grid and to the Other agents table with ~/.warp/.mcp.json path and skill discovery notes.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • rohitg00/agentmemory#651: Both PRs expand the agentmemory connect adapter registry and update related dispatcher tests.

Poem

🐰 I hopped through configs, keys, and stacks,
I nudged adapters into tidy tracks,
Warp and Zed and Cline came through,
Tests green, README trimmed anew — woohoo! ✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 20.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and specifically describes the main change: addition of 5 new connect adapters (Warp, Cline, Continue, Zed, Droid) with quantified impact, directly matching the changeset scope.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/connect-warp

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

ESLint skipped: no ESLint configuration detected in root package.json. To enable, add eslint to devDependencies.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (1)
src/cli/connect/warp.ts (1)

5-10: ⚡ Quick win

Replace WHAT-style block comments with self-documenting names or compact rationale-only notes.

This comment block is descriptive but violates the repo rule for src TS files.

As per coding guidelines, src/**/*.{ts,tsx} should “Avoid code comments explaining WHAT — use clear naming instead”.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/cli/connect/warp.ts` around lines 5 - 10, The top-of-file WHAT-style
comment in warp.ts should be replaced with a concise, rationale-only note or
self-documenting symbol: remove the multi-line descriptive block and either (a)
add a short one-line comment summarizing intent (e.g., "// MCP server config
stored under ~/.warp/.mcp.json; see docs for details") or (b) create a named
constant or JSDoc near the related export (e.g., MCP_SERVERS_DOC or the
mcpServers variable/function) with a compact rationale and a docs URL; do not
leave long WHAT explanations in src TS files.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@README.md`:
- Around line 199-203: The agents grid row currently uses fixed <td
align="center" width="12.5%"> cells which makes the row exceed 100% when an
extra cell (the Warp cell with its anchor and image) is added; either move the
Warp <td> into a new <tr> so the original row stays at 8 cells, or change the
per-cell sizing to a responsive approach (e.g., remove fixed width attributes
from the <td> elements or normalize them to equal fractions like ~11.11% for 9
cells and let CSS handle wrapping), and ensure the Warp <td> (the <a
href="https://www.warp.dev">... image ...</a>) is updated accordingly.

In `@test/connect-new-agents.test.ts`:
- Around line 119-127: The test overrides process.env["HOME"] but not
process.env["USERPROFILE"], which can make os.homedir() return the real host
path on Windows; capture the original USERPROFILE (e.g. const ORIG_USERPROFILE =
process.env["USERPROFILE"]) alongside ORIG, set process.env["USERPROFILE"] =
home inside beforeEach (where home = freshHome()), and restore ORIG_USERPROFILE
in afterEach (similar to restoring process.env["HOME"]); apply these changes
around the existing beforeEach/afterEach that reference ORIG, home, freshHome(),
vi.resetModules(), and rmSync so homedir()-based path resolution is
deterministic on Windows.

---

Nitpick comments:
In `@src/cli/connect/warp.ts`:
- Around line 5-10: The top-of-file WHAT-style comment in warp.ts should be
replaced with a concise, rationale-only note or self-documenting symbol: remove
the multi-line descriptive block and either (a) add a short one-line comment
summarizing intent (e.g., "// MCP server config stored under ~/.warp/.mcp.json;
see docs for details") or (b) create a named constant or JSDoc near the related
export (e.g., MCP_SERVERS_DOC or the mcpServers variable/function) with a
compact rationale and a docs URL; do not leave long WHAT explanations in src TS
files.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: e3715b13-6a9c-4efe-9ccb-f6e5844982c1

📥 Commits

Reviewing files that changed from the base of the PR and between 26980a8 and 343e8b2.

📒 Files selected for processing (5)
  • README.md
  • src/cli/connect/index.ts
  • src/cli/connect/warp.ts
  • test/cli-connect.test.ts
  • test/connect-new-agents.test.ts

Comment thread README.md
Comment on lines +119 to +127
const ORIG = process.env["HOME"];
beforeEach(() => {
home = freshHome();
vi.resetModules();
process.env["HOME"] = home;
});
afterEach(() => {
process.env["HOME"] = ORIG;
rmSync(home, { recursive: true, force: true });
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

❓ Verification inconclusive

🏁 Script executed:

#!/bin/bash
# Verify this test mutates HOME but not USERPROFILE,
# while the adapter uses node:os homedir().

set -euo pipefail

echo "== Adapter uses homedir() =="
rg -n --type=ts 'homedir\(\)|detectDir|configPath' src/cli/connect/warp.ts

echo
echo "== Warp suite env setup =="
rg -n --type=ts -C2 'describe\("connect: Warp"|process\.env\["HOME"\]|USERPROFILE' test/connect-new-agents.test.ts

Repository: rohitg00/agentmemory

Length of output: 1981


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== Where node:os homedir() is used (any TS) =="
rg -n --type=ts 'homedir\(' src || true

echo
echo "== Warp suite env setup =="
rg -n --type=ts -C2 'describe\("connect: Warp"|process\.env\["HOME"\]|process\.env\["USERPROFILE"\]' test/connect-new-agents.test.ts

Repository: rohitg00/agentmemory

Length of output: 1962


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== Where homedir() is used =="
rg -n --type=ts 'homedir\(' src || true

echo
echo "== Warp suite env setup =="
rg -n --type=ts -C2 'describe\("connect: Warp"|process\.env\["HOME"\]|process\.env\["USERPROFILE"\]' test/connect-new-agents.test.ts

Repository: rohitg00/agentmemory

Length of output: 1962


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== Adapter uses node:os homedir() =="
rg -n --type=ts 'homedir\(' src || true

echo
echo "== Warp suite env setup (HOME/USERPROFILE) =="
rg -n --type=ts -C2 'describe\("connect: Warp"|process\.env\["HOME"\]|process\.env\["USERPROFILE"\]' test/connect-new-agents.test.ts

Repository: rohitg00/agentmemory

Length of output: 1962


Mirror process.env["USERPROFILE"] with process.env["HOME"] in the Warp suite (test/connect-new-agents.test.ts, lines 119-127) to keep homedir()-based path resolution deterministic on Windows.

Only overriding HOME can cause node:os homedir() to fall back to host-specific USERPROFILE, making the test environment non-isolated/flaky.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@test/connect-new-agents.test.ts` around lines 119 - 127, The test overrides
process.env["HOME"] but not process.env["USERPROFILE"], which can make
os.homedir() return the real host path on Windows; capture the original
USERPROFILE (e.g. const ORIG_USERPROFILE = process.env["USERPROFILE"]) alongside
ORIG, set process.env["USERPROFILE"] = home inside beforeEach (where home =
freshHome()), and restore ORIG_USERPROFILE in afterEach (similar to restoring
process.env["HOME"]); apply these changes around the existing
beforeEach/afterEach that reference ORIG, home, freshHome(), vi.resetModules(),
and rmSync so homedir()-based path resolution is deterministic on Windows.

ADAPTERS bumped 12 -> 16. Schemas verified via context7 (Cline, Continue, Goose) + WebFetch (Zed, Droid).

- Cline: ~/.cline/mcp.json, same Claude-style mcpServers wrapper.
- Droid (Factory.ai): ~/.factory/mcp.json, same mcpServers wrapper with optional type:stdio per entry.
- Zed: ~/.config/zed/settings.json, uses 'context_servers' key (NOT mcpServers); createJsonMcpAdapter now accepts wrapperKey override.
- Continue.dev: ~/.continue/config.json, mcpServers is an ARRAY of named entries (not object) — custom adapter writes array form.

Goose deferred — its YAML config uses 'extensions:' with 'cmd' (not 'command') and adding a YAML dep for one adapter isn't worth it. README documents the manual path (goose configure → Add Extension → MCP).

Tests: 8 new install + detect cases under connect-new-agents.test.ts. ADAPTERS.length 12 -> 16. All 1181 unit tests pass.
Doc verification flagged two real schema bugs in the prior commit:

1. Droid (Factory.ai): docs.factory.ai/cli/configuration/mcp specifies 'type' as REQUIRED for stdio servers ('Either stdio or http'). Previous entry was missing it — Droid would reject the agentmemory block at parse time. Extended createJsonMcpAdapter with optional extraEntryFields; droid sets type:'stdio'.

2. Continue.dev: config.yaml takes precedence over config.json per docs.continue.dev/reference/yaml-migration. config.json is deprecated and ignored when yaml is present. Prior adapter wrote to config.json blindly which would no-op on modern Continue installs.

   New three-branch logic:
   - yaml exists -> stub result with copy-pasteable block (refuses silent yaml mutation, no YAML dep in tree)
   - json exists (legacy only) -> modify in place
   - neither -> create fresh config.yaml via hand-rolled emitter (safe since no existing content to preserve)

Zed (~/.config/zed/settings.json), Cline (~/.cline/mcp.json), Warp (~/.warp/.mcp.json) paths re-verified against current docs — all correct.
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/cli/connect/zed.ts`:
- Around line 11-14: The isMac conditional and ternary in computing zedConfigDir
is dead code since both branches call join(homedir(), ".config", "zed"); remove
the isMac variable and the ternary and replace with a single constant
declaration for zedConfigDir that directly assigns join(homedir(), ".config",
"zed") (keep the existing imports of platform(), join, homedir() if used
elsewhere).
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: eb461402-0b96-427f-b95f-be26e7f2e5a7

📥 Commits

Reviewing files that changed from the base of the PR and between 343e8b2 and 03ac975.

📒 Files selected for processing (9)
  • README.md
  • src/cli/connect/cline.ts
  • src/cli/connect/continue.ts
  • src/cli/connect/droid.ts
  • src/cli/connect/index.ts
  • src/cli/connect/json-mcp-adapter.ts
  • src/cli/connect/zed.ts
  • test/cli-connect.test.ts
  • test/connect-new-agents.test.ts
✅ Files skipped from review due to trivial changes (1)
  • README.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • src/cli/connect/index.ts

Comment thread src/cli/connect/zed.ts Outdated
@rohitg00 rohitg00 changed the title feat(connect): Warp adapter — first-class memory citizen feat(connect): Warp + Cline + Continue + Zed + Droid adapters (5 new) May 27, 2026
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (2)
src/cli/connect/json-mcp-adapter.ts (1)

25-27: ⚡ Quick win

Remove inline WHAT-comments and rely on naming/docs instead.

This new explanatory block should be moved to higher-level docs (or removed) to match the repo’s TS style rule.

As per coding guidelines, "Avoid code comments explaining WHAT — use clear naming instead".

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/cli/connect/json-mcp-adapter.ts` around lines 25 - 27, Remove the inline
explanatory comment that starts "Extra fields merged into the agentmemory
entry..." above the extraEntryFields property in json-mcp-adapter.ts; instead
either move that explanation into higher-level docs or convert it into proper
TSDoc for the interface/type that contains extraEntryFields, and ensure the
property name extraEntryFields remains self-descriptive (or rename it if needed)
so the code needs no WHAT-comment inline.
src/cli/connect/continue.ts (1)

16-23: ⚡ Quick win

Drop WHAT-comments in this TS source and keep intent in naming/log messages.

These added explanatory comments should be removed or moved to external docs to align with project conventions.

As per coding guidelines, "Avoid code comments explaining WHAT — use clear naming instead".

Also applies to: 53-55, 88-90, 101-102, 151-151

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/cli/connect/continue.ts` around lines 16 - 23, Remove the large "WHAT"
explanatory comment blocks in this module (including the block above
CONTINUE_DIR and the other comment blocks referenced) and preserve their intent
by using clearer identifier names and concise log/messages instead of inline
WHAT-comments; specifically, keep the constant CONTINUE_DIR, remove the long
descriptive comment above it, and where those comments explained behavior (YAML
vs JSON handling, migration branches, or links) fold that text into descriptive
variable/flag names, function names, or concise log messages and move full
explanations to external docs per project conventions.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/cli/connect/continue.ts`:
- Around line 91-94: The prompt text is misleading because manual includes a
full snippet with a top-level mcpServers: key (generated by renderFreshYaml())
but tells users to "Add this under mcpServers", which will duplicate the key;
update the message around the manual variable to either instruct users to "Add
or merge this top-level snippet into ~/.continue/config.yaml (it already
includes the mcpServers: key)" or change the snippet generation to omit the
top-level key; specifically modify the string that builds manual (where manual
is defined) to clarify "merge/replace top-level mcpServers:" or adjust the
call/renderFreshYaml() so it returns only the inner entries if you intend
insertion under an existing mcpServers key.

---

Nitpick comments:
In `@src/cli/connect/continue.ts`:
- Around line 16-23: Remove the large "WHAT" explanatory comment blocks in this
module (including the block above CONTINUE_DIR and the other comment blocks
referenced) and preserve their intent by using clearer identifier names and
concise log/messages instead of inline WHAT-comments; specifically, keep the
constant CONTINUE_DIR, remove the long descriptive comment above it, and where
those comments explained behavior (YAML vs JSON handling, migration branches, or
links) fold that text into descriptive variable/flag names, function names, or
concise log messages and move full explanations to external docs per project
conventions.

In `@src/cli/connect/json-mcp-adapter.ts`:
- Around line 25-27: Remove the inline explanatory comment that starts "Extra
fields merged into the agentmemory entry..." above the extraEntryFields property
in json-mcp-adapter.ts; instead either move that explanation into higher-level
docs or convert it into proper TSDoc for the interface/type that contains
extraEntryFields, and ensure the property name extraEntryFields remains
self-descriptive (or rename it if needed) so the code needs no WHAT-comment
inline.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: d6800fb9-b4a4-4ace-a53b-c025cbf10f85

📥 Commits

Reviewing files that changed from the base of the PR and between 03ac975 and 7330909.

📒 Files selected for processing (5)
  • README.md
  • src/cli/connect/continue.ts
  • src/cli/connect/droid.ts
  • src/cli/connect/json-mcp-adapter.ts
  • test/connect-new-agents.test.ts
✅ Files skipped from review due to trivial changes (1)
  • README.md
🚧 Files skipped from review as they are similar to previous changes (2)
  • src/cli/connect/droid.ts
  • test/connect-new-agents.test.ts

Comment thread src/cli/connect/continue.ts Outdated
Three of four CodeRabbit findings on PR #677 verified valid + fixed:

- README agents grid was 9 cells x 12.5% = 112.5% on row 2 — overflow. Moved Warp to a fresh row 3.
- src/cli/connect/zed.ts had an isMac ternary returning the same path on both branches (dead code). Collapsed to one constant.
- src/cli/connect/continue.ts yaml-stub message said 'under mcpServers:' but the printed snippet already includes the top-level mcpServers: key. Reworded to 'merge this block' and explicitly noted the snippet's own top-level key, so users with an existing mcpServers list append rather than duplicate.

Skipped (one): test harness mutates HOME but not USERPROFILE. Adapter detect uses node:os homedir() which reads USERPROFILE on Windows. Connect command explicitly refuses to run on Windows (platform()==='win32' early-exit), so the Windows path isn't exercised. Pre-existing pattern across all connect tests.
@rohitg00 rohitg00 merged commit 047ed72 into main May 27, 2026
7 checks passed
@rohitg00 rohitg00 deleted the feat/connect-warp branch May 27, 2026 15:47
rohitg00 added a commit that referenced this pull request May 28, 2026
PR #677 shipped 5 MCP-only adapters (Warp, Cline, Continue, Zed, Droid)
but didn't ship native skill installs, which left ~600 LOC of
per-agent file-tree manipulation on the table. Turns out the
vercel-labs/skills CLI already covers 4 of the 5 (warp, cline,
continue, droid) plus 45+ other agents, reading SKILL.md files from
any git repo and installing to the calling agent's native directory.

This wires that path into the agentmemory UX without taking a new
runtime dep:

- `summarize()` in `src/cli/connect/index.ts` prints a one-line
  next-step pointing users at `npx skills add rohitg00/agentmemory -y`
  after any successful or already-wired adapter run. No subprocess
  spawn — keeps `connect` deterministic + offline-capable; the
  install is opt-in.
- README "Other agents" section gets a "Native skills via
  `npx skills add`" subsection explaining the two-step pattern
  (`connect` for MCP, `skills add` for skill autoload) and listing
  the 50+ supported agents.
- README install snippet bumps from one-line `connect` to the
  two-line flow so first-run users see both paths immediately.

Tracked via #708. Closes the audit angle for #703 / #704 / #705 /
#707 — see those issues' closing comments. #706 (Zed) remains open
since the skills CLI keyword list doesn't include Zed yet.
rohitg00 added a commit that referenced this pull request May 28, 2026
Bumps version across 9 files + adds CHANGELOG entry summarizing the
18 commits since v0.9.22.

Highlights:
- GitHub Copilot CLI first-class support (#534) — plugin + hooks +
  MCP with LSP-style Content-Length framing on the standalone stdio
  transport.
- Five new MCP adapters: Warp, Cline, Continue, Zed, Droid (#677);
  ADAPTERS count 11 → 17.
- Three silent DX bugs fixed: graph extraction never fired on
  session end (#666 / #698), status reported zero memories (#666),
  consolidation defaulted off even with an LLM provider configured
  (#612 / #696).
- Nine telemetry hooks switched to fire-and-forget so they don't
  block Claude Code's next-prompt boundary (#573 / #688).
- Hook project field now sends repo basename instead of full
  filesystem path so auto-injected context isn't silently filtered
  out (#474 / #687).
- Local-LLM docs: Ollama / LM Studio / vLLM section added (#671 /
  #697).

Version-bump files: package.json, plugin/.claude-plugin/plugin.json,
plugin/plugin.json, plugin/.codex-plugin/plugin.json,
packages/mcp/package.json, src/version.ts, src/types.ts,
src/functions/export-import.ts, test/export-import.test.ts.
rohitg00 added a commit that referenced this pull request May 28, 2026
* chore(release): v0.9.23

Bumps version across 9 files + adds CHANGELOG entry summarizing the
18 commits since v0.9.22.

Highlights:
- GitHub Copilot CLI first-class support (#534) — plugin + hooks +
  MCP with LSP-style Content-Length framing on the standalone stdio
  transport.
- Five new MCP adapters: Warp, Cline, Continue, Zed, Droid (#677);
  ADAPTERS count 11 → 17.
- Three silent DX bugs fixed: graph extraction never fired on
  session end (#666 / #698), status reported zero memories (#666),
  consolidation defaulted off even with an LLM provider configured
  (#612 / #696).
- Nine telemetry hooks switched to fire-and-forget so they don't
  block Claude Code's next-prompt boundary (#573 / #688).
- Hook project field now sends repo basename instead of full
  filesystem path so auto-injected context isn't silently filtered
  out (#474 / #687).
- Local-LLM docs: Ollama / LM Studio / vLLM section added (#671 /
  #697).

Version-bump files: package.json, plugin/.claude-plugin/plugin.json,
plugin/plugin.json, plugin/.codex-plugin/plugin.json,
packages/mcp/package.json, src/version.ts, src/types.ts,
src/functions/export-import.ts, test/export-import.test.ts.

* chore(release): add #701 + #709 to v0.9.23 CHANGELOG
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant