Add VS Code ACP extension and align MCP runtime#363
Add VS Code ACP extension and align MCP runtime#363amDosion wants to merge 4 commits intoclaude-code-best:mainfrom
Conversation
The VS Code ACP path had diverged from the CLI flow: MCP servers were listed as configured or reconnected, but the running QueryEngine kept stale tool schemas. This made claude-in-chrome appear connected while ToolSearch and the API could not see its tools. This commit adds the VS Code extension package, keeps VSIX contents limited to bundled dist/resources via .vscodeignore, refreshes MCP-backed tool state at runtime, hardens ACP MCP lifecycle cleanup, and keeps Windows ACP shell execution on PowerShell semantics. Constraint: The VSIX must not ship extension source files, tests, or scripts. Rejected: Publish raw extension source in the VSIX | Marketplace users only need package.json, resources, and built dist assets. Confidence: high Scope-risk: broad Directive: Do not remove the .vscodeignore source exclusions without re-running vsce ls and reviewing VSIX contents. Tested: bun test; bun audit; bunx biome lint . --max-diagnostics=1000; bun run typecheck; bun run build; direct claude-in-chrome MCP SDK smoke; packages/vscode-extension bun run test:all; vsce ls --no-dependencies Not-tested: Actual Marketplace publish with a live VSCE_PAT
This worktree still contained the broader cleanup and command-path changes that were separate from the VS Code ACP MCP runtime commit. Committing them separately keeps the plugin runtime fix reviewable while preserving the rest of the worktree state. The changes include repository audit/planning docs, command and UI cleanup, RCS and MCP client hardening, dependency metadata updates, and formatting/static-analysis fixes across the decompiled codebase. Constraint: The prior commit intentionally isolated the VS Code extension MCP runtime behavior; this commit records the remaining worktree modifications as their own unit. Rejected: Squash into the VS Code ACP commit | that would mix runtime MCP behavior with broad cleanup and documentation changes. Confidence: medium Scope-risk: broad Directive: Review src/main.tsx carefully in future changes because this commit includes a large formatting-heavy diff there. Tested: bun test; bun audit; bunx biome lint . --max-diagnostics=1000; bun run typecheck; bun run build; packages/vscode-extension bun run test:all; git diff --cached --check Not-tested: Fresh CI run after this exact commit boundary
Users need a direct install path that is separate from implementation notes. This document explains VSIX installation, source-based local installation, CLI path configuration, basic validation, uninstall steps, and the release-package source exclusions. Constraint: The extension VSIX should ship compiled assets only, not source directories or test scripts. Rejected: Keep installation notes only in architecture docs | users need a focused operational guide without ACP internals. Confidence: high Scope-risk: narrow Directive: If .vscodeignore changes, update the package-contents section after running vsce ls. Tested: git diff --check Not-tested: Rebuilding the VSIX for this docs-only change
|
Important Review skippedToo many files! This PR contains 195 files, which is 45 over the limit of 150. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (2)
📒 Files selected for processing (195)
You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
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 |
Welcome to Codecov 🎉Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests. ℹ️ You can also turn on project coverage checks and project coverage reporting on Pull Request comment Thanks for integrating Codecov - We've got you covered ☂️ |
The PR already includes the extension host and webview source under packages/vscode-extension, but reviewers need an entry point that explains which directories are source, which files are generated output, and why source is excluded from the VSIX package. Constraint: Source should remain reviewable in the repository while the VSIX continues to ship compiled assets only. Rejected: Rely on root feature docs only | they describe architecture but are not colocated with the extension source tree. Confidence: high Scope-risk: narrow Directive: Keep this README aligned with .vscodeignore whenever the packaging boundary changes. Tested: git diff --check Not-tested: Re-running VS Code extension smoke tests for this docs-only change
Summary
claude-in-chrome, are visible to ToolSearch/API calls..vscodeignore;vsce ls --no-dependenciesshows onlypackage.json,resources/icon.svg,dist/webview.js, anddist/extension.js.Verification
bun test-> 3623 pass, 2 skip, 0 failbun audit-> no vulnerabilities foundbunx biome lint . --max-diagnostics=1000-> no diagnosticsbun run typecheck-> passbun run build-> passdist/cli.js --claude-in-chrome-mcp-> 18 tools, includestabs_context_mcpcd packages/vscode-extension && bun run test:all-> pass, including/mcp tools claude-in-chromenpx @vscode/vsce ls --no-dependencies-> package contains only compiled assets and manifest/resource filesNotes
This PR is intentionally not merged. It is opened for upstream review from
amDosion:feat/vscode-extensionintoclaude-code-best:main.