feat: vibecop v0.4.0 — MCP server with scan, check, explain tools#17
Merged
Conversation
Add MCP server exposing vibecop as Model Context Protocol tools for Tier 3 agent integration (Continue.dev, Amazon Q, Zed). Three MCP tools: - vibecop_scan: scan a directory for AI code quality issues - vibecop_check: check a single file for issues - vibecop_explain: explain what a detector checks for Also includes engine API cleanup: extracted clean scan() and checkFile() public functions from cli.ts into engine.ts, decoupled from Commander.js and process.exit(). MCP server and future integrations import directly. New CLI command: `vibecop serve` starts the MCP server on stdio. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- README: add MCP server section, update detector count (28→35), add v0.3 test detectors, document all CLI commands including serve, update architecture diagram, update roadmap through Phase 3.5 - CHANGELOG: add entries for v0.2.0, v0.3.0, v0.3.1, v0.4.0 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…, fix self-import detection Three detector improvements that eliminate ~72% noise when scanning server/library codebases: 1. debug-console-in-prod: detect CLI/server projects via package.json `bin` field and skip entirely — servers legitimately use console.log for output. Also reduced default methods to log+debug only (was 8 methods), made configurable via .vibecop.yml, skip CLI/server path patterns. 2. undeclared-import: skip packages importing themselves (JS reads package.json `name` field, Python normalizes hyphens to underscores for pyproject.toml project name matching). 3. placeholder-in-production: expanded skip patterns to include fixture, example, sample, mock, demo directories and .md files. Validated against 5 popular MCP servers: - DesktopCommanderMCP: 500+ → 353 findings (457 console.log noise eliminated) - mcp-atlassian: 500+ → 500 (329 placeholder+undeclared noise eliminated, now showing real issues: god-function, empty-test, conditional-test-logic) - Figma-Context-MCP: 46 → 23 (console.log noise halved) - exa-mcp-server: 31 → 19 (console.log noise removed) - notion-mcp-server: 36 → 27 (console.log noise removed) 30 new tests (540 total), all passing. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add website/ with Starlight (Astro) documentation site — 20 content pages covering getting started, agent integration (per-tool), detectors reference, custom rules, configuration, GitHub Action, benchmarks, architecture - Built-in search (Pagefind), dark mode, deploys to GitHub Pages - README slimmed to concise landing page: install, quick start, agent table, MCP config, benchmark highlights, links to full docs - CHANGELOG updated with v0.4.0 detector fix notes README sells. Docs teach. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
docs/ is gitignored (internal design docs). product-docs/ is the public-facing documentation site that gets pushed to remote. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
docs/ is gitignored and used for internal planning only. All public documentation now lives in product-docs/ (Starlight site). Files remain on disk for local reference. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Deploys product-docs/ Starlight site to GitHub Pages on push to main. Triggers only when product-docs/ files change. Manual dispatch available. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
vibecop_scan,vibecop_check,vibecop_explainvia@modelcontextprotocol/sdkscan()andcheckFile()fromcli.ts:scanAction()intoengine.ts, decoupled from Commander.js/process.exit()vibecop servestarts MCP server on stdio transportWhat this enables
Tier 3 agent integration — any MCP-compatible tool (Continue.dev, Amazon Q, Zed) can now use vibecop directly:
{ "mcpServers": { "vibecop": { "command": "npx", "args": ["vibecop", "serve"] } } }MCP Tools
vibecop_scanvibecop_checkvibecop_explainTest plan
bun run lintcleanbunx tsc --noEmitclean🤖 Generated with Claude Code