feat(connect): Qwen Code + Antigravity + Kiro adapters; docs(ports)#651
Conversation
Three new connect adapters and a Port Mapping section in README. #647 Qwen Code (~/.qwen/settings.json) — standard mcpServers shape. Qwen's 16-event hook system reuses Claude Code's payload field names (session_id, cwd, tool_name, tool_input, tool_response), so the existing compiled hook scripts run against Qwen without modification. Plugin extension support (qwen-extension.json) is a separate follow-up. #614 Antigravity (mcp_config.json under platform-specific User dir) — standard mcpServers shape. Gemini CLI is scheduled to stop serving Pro/Ultra/Code-Assist requests 2026-06-18 per Google's announcement; Antigravity is the GA replacement. #618 Kiro (~/.kiro/settings/mcp.json) — standard mcpServers shape. Workspace-level overrides live in .kiro/settings/mcp.json next to the code; we wire user-level by default. All three use the shared json-mcp-adapter, so they inherit the ${VAR:-default} env block from PR #650. #629 Port docs — README now has a Ports table under Configuration: 3111 REST, 3112 streams, 3113 viewer, 49134 engine WS. Env overrides called out. Stale-process cleanup recipe for macOS/Linux/Windows. Test coverage: - test/connect-new-agents.test.ts: 6 cases (detect + install + env-default form for each agent, plus a registry-membership check) - test/cli-connect.test.ts: bumped agent count 8 → 11 - 1156/1156 vitest pass Docs fetched first via context7: - Qwen Code docs (qwenlm.github.io/qwen-code-docs) - Kiro CLI docs (kiro.dev/docs/cli/mcp) - Antigravity docs (settings file layout)
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
📝 WalkthroughWalkthroughThis PR extends the ChangesAdd Qwen, Antigravity, and Kiro agent adapters
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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
ESLint skipped: no ESLint configuration detected in root package.json. To enable, add 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. Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (3)
src/cli/connect/antigravity.ts (1)
5-12: ⚡ Quick winDrop WHAT-style block comments and keep intent in identifiers/docs fields.
The long comment block duplicates logic already visible in
ANTIGRAVITY_DIRand adapter metadata.♻️ Suggested cleanup
-// Antigravity stores MCP config in mcp_config.json under its app -// support directory. The schema follows the standard MCP envelope — -// `{ mcpServers: { ... } }`. Path varies by platform: -// macOS: ~/Library/Application Support/Antigravity/User/mcp_config.json -// Linux: ~/.config/Antigravity/User/mcp_config.json -// Windows: %APPDATA%/Antigravity/User/mcp_config.json -// Connect is gated on win32 elsewhere; we cover macOS + Linux here.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/antigravity.ts` around lines 5 - 12, Remove the long WHAT-style block comment above ANTIGRAVITY_DIR and instead keep intent in concise documentation and identifiers: delete the multi-line platform path explanation and replace it with a short one-line JSDoc or single-line comment that states purpose (e.g., "Antigravity MCP config directory") and rely on the ANTIGRAVITY_DIR constant name and existing adapter metadata to convey platform specifics; ensure any necessary platform notes live in adapter metadata or a brief comment directly adjacent to ANTIGRAVITY_DIR rather than a large explanatory block.src/cli/connect/qwen.ts (1)
5-8: ⚡ Quick winRemove WHAT-style inline comments in this adapter module.
These lines restate behavior already expressed by the adapter config and naming.
♻️ Suggested cleanup
-// Qwen Code stores its settings (mcpServers + hooks) in -// ~/.qwen/settings.json. Schema for mcpServers matches Claude Code's -// shape, so the shared JSON adapter handles the wiring. -// Source: qwenlm.github.io/qwen-code-docs/en/users/features/mcpAs 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/qwen.ts` around lines 5 - 8, Remove the WHAT-style explanatory comment block at the top of the qwen adapter module (the three-line comment describing settings.json, mcpServers schema, and source link) — delete those inline comments in src/cli/connect/qwen.ts and rely on clear naming and the adapter config to convey the behavior; ensure no functional code or required metadata is removed while cleaning up the comment lines.src/cli/connect/kiro.ts (1)
5-7: ⚡ Quick winRemove WHAT-oriented comments in this source module.
This context is already clear from the adapter configuration itself.
♻️ Suggested cleanup
-// Kiro stores user-level MCP servers in ~/.kiro/settings/mcp.json. -// Schema follows the standard MCP envelope { mcpServers: { ... } }. -// Source: kiro.dev/docs/cli/mcpAs 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/kiro.ts` around lines 5 - 7, Remove the WHAT-oriented explanatory comment block at the top of the module (the lines describing where Kiro stores user-level MCP servers, the schema, and the source URL) from the kiro.ts module; instead rely on clear naming in the adapter and, if needed, move any remaining integration notes to external docs or a short WHY-oriented comment. Ensure no functional code changes—only delete or replace the top comment block so the file no longer contains WHAT-focused documentation.
🤖 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.
Nitpick comments:
In `@src/cli/connect/antigravity.ts`:
- Around line 5-12: Remove the long WHAT-style block comment above
ANTIGRAVITY_DIR and instead keep intent in concise documentation and
identifiers: delete the multi-line platform path explanation and replace it with
a short one-line JSDoc or single-line comment that states purpose (e.g.,
"Antigravity MCP config directory") and rely on the ANTIGRAVITY_DIR constant
name and existing adapter metadata to convey platform specifics; ensure any
necessary platform notes live in adapter metadata or a brief comment directly
adjacent to ANTIGRAVITY_DIR rather than a large explanatory block.
In `@src/cli/connect/kiro.ts`:
- Around line 5-7: Remove the WHAT-oriented explanatory comment block at the top
of the module (the lines describing where Kiro stores user-level MCP servers,
the schema, and the source URL) from the kiro.ts module; instead rely on clear
naming in the adapter and, if needed, move any remaining integration notes to
external docs or a short WHY-oriented comment. Ensure no functional code
changes—only delete or replace the top comment block so the file no longer
contains WHAT-focused documentation.
In `@src/cli/connect/qwen.ts`:
- Around line 5-8: Remove the WHAT-style explanatory comment block at the top of
the qwen adapter module (the three-line comment describing settings.json,
mcpServers schema, and source link) — delete those inline comments in
src/cli/connect/qwen.ts and rely on clear naming and the adapter config to
convey the behavior; ensure no functional code or required metadata is removed
while cleaning up the comment lines.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: e899ba7c-6c72-4f98-a934-a5ceae5fb614
📒 Files selected for processing (7)
README.mdsrc/cli/connect/antigravity.tssrc/cli/connect/index.tssrc/cli/connect/kiro.tssrc/cli/connect/qwen.tstest/cli-connect.test.tstest/connect-new-agents.test.ts
Summary
Four Tier-3 issues, one PR. All docs fetched against the upstream agent's own documentation before writing the adapter — no guessing at config schemas.
agentmemory connect qwenwriting to~/.qwen/settings.jsonagentmemory connect antigravitywriting to platform-specificmcp_config.json(Gemini CLI replacement, sunset 2026-06-18)agentmemory connect kirowriting to~/.kiro/settings/mcp.jsonAll three adapters use the shared
json-mcp-adapter, so they inherit the${VAR:-default}env block from PR #650 — no surprise parse failures on fresh installs.Docs verified against
/en/users/features/hooks+/en/users/extension/introductionQwen Code's 16-event hook system reuses Claude Code's payload field names (
session_id,cwd,tool_name,tool_input,tool_response), so existing compiled hook scripts run against Qwen without modification. Plugin-format extension (qwen-extension.json) is a separate follow-up — current PR ships MCP wiring only.Test plan
npm test— 1156/1156 pass (107 files), +6 new cases intest/connect-new-agents.test.tsnpm run build— 21 files, 2456 KBtest/cli-connect.test.tsagent-count assertion bumped 8 → 11${VAR:-default}env form in the wired outputSummary by CodeRabbit
New Features
connectcommand with agent-specific setupDocumentation
Tests