{"slug": "show-hn-vibedrift-measuring-ai-coding-drift-across-open-source-repos", "title": "Show HN: VibeDrift – measuring AI coding drift across open source repos", "summary": "VibeDrift, a new open-source tool, detects and prevents AI coding drift by analyzing codebase consistency across sessions, offering local scans and deep analysis to catch pattern violations and semantic conflicts before they spread.", "body_md": "# Your AI agent gets worse as your project grows.\n\nIt forgets your patterns, repeats code, and breaks what worked. **VibeDrift** catches the drift before it spreads.\n\n## Same project. Two different styles.\n\nYour AI wrote both files, in two sessions. Both pass the linter. Together they teach it your project has no rules.\n\n``` js\nimport { UserRepository } from '../repositories/user';\nimport { requireAuth } from '../middleware/auth';\n\nexport async function getUser(req: Request) {\n  requireAuth(req);\n  const user = await UserRepository.findById(id);\n  if (!user) throw new NotFoundError();\n  return user;\n}\njs\nimport { db } from '../config/database';\n\nexport async function getOrder(req: Request) {\n  const id = req.params.id;\n  const rows = await db.query('SELECT * FROM orders...');\n  if (rows.length === 0) {\n    return { status: 404, error: 'not found' };\n  }\n  return rows[0];\n}\n```\n\n## Your agent checks before it writes.\n\nA report tells you about drift after it lands. The VibeDrift MCP server stops it from landing at all. Mid-task, Claude Code and Cursor ask your codebase what it already does, and get an evidence-backed answer in under a second. That turns drift detection into drift *prevention*.\n\n## Find it, fix it, keep it clean.\n\nOne scan ranks what's wrong by how much it hurts, hands your agent a copy-paste fix, and leaves a memory it reads every session.\n\n**Run** npx @vibedrift/cli .\n\n**Read** worst problems first\n\n**Paste** the fix into your agent\n\nA `.vibedrift/`\n\nfolder your agent reads every session.\n\nYour agent asks your codebase mid-task, answer in under a second.\n\nRefreshes the memory on every save. Zero network calls.\n\n## We checked if it works. Honestly.\n\nWith and without VibeDrift, graded by an independent pass, it only changes things when the model would've gotten it wrong, and we show where it did nothing.\n\nWhen the model would match your conventions anyway, the signal does nothing, and we're not hiding that.\n\n## Patterns catch the visible drift. Deep catches what they can't.\n\nThe free local scan catches the obvious drift in seconds. The deep scan reads what your code actually *means*, so it finds the deeper conflicts a quick scan can't, the kind that quietly pile up in big codebases.\n\n- ✓\n**Static + Code DNA analysis**, pattern, structure, and duplicate checks, all on your machine in ~2s - ✓\n**Drift detectors**, mismatched patterns and missing auth guards - ✓\n**Scaffolding detection**, flags half-finished, copy-pasted code - ✓\n**Scan-over-scan delta**, what changed since your last scan - ✓\n**CI-ready**, fast enough for every save and pull request\n\nCatches the stuff your code visibly does differently.\n\n- ★\n**Semantic duplicates**, the same logic hiding under different names - ★\n**Intent mismatch detection**, when a function's name doesn't match what it does - ★\n**AI-validated findings**, every result is double-checked by Claude, so you don't chase false alarms - ★\n**Coherence report**, a ranked scorecard of how consistent your code is with itself, worst first - ★\n**Fix prompts**, a ready-to-paste fix for each finding - ★\n**In-editor via MCP**, catches issues right as your agent writes them\n\nCatches the conflicts you can't spot by eye, the ones hiding in what the code means.\n\nThe deep scan helps most exactly where your AI agent can't see your conventions on its own, which is right when drift creeps in.\n\n## Free to start. Pay only for deep scans.\n\nLocal scans and the local MCP tools are **free on every plan, forever**. Paid plans add a deep-scan budget and in-editor checks.\n\nOut of deep scans? **Top up 5 for $10**, on any plan. Credits never expire.\n\n## Questions, answered.\n\n## How do I get started?+\n\nRun npx @vibedrift/cli . in any project, no account, no config. Local scans are free and unlimited; sign in only when you want a deep scan or the dashboard.\n\n## Does it auto-fix, or just flag drift?+\n\nBoth. Every scan writes copy-ready fix prompts to .vibedrift/fix-plan.md so you, or your agent, can apply them. Deep scans add AI-synthesized fixes for the contradictions patterns can't see.\n\n## What's the Vibe Drift Score?+\n\nA 0–100 score across five categories, graded against your own codebase's dominant patterns, not a generic rulebook. It tells you how internally consistent your project is and which files drag it down.\n\n## Is it really open source?+\n\nYes. The local scanner is MIT-licensed at github.com/VibeDrift/VibeDrift.\n\n## Stop blaming the model.\n\nSee what your codebase has been teaching your AI.\n\nNot ready to scan? Get notified of updates.", "url": "https://wpnews.pro/news/show-hn-vibedrift-measuring-ai-coding-drift-across-open-source-repos", "canonical_source": "https://www.vibedrift.ai", "published_at": "2026-06-25 15:56:17+00:00", "updated_at": "2026-06-25 16:14:39.048366+00:00", "lang": "en", "topics": ["ai-tools", "developer-tools", "ai-agents", "machine-learning"], "entities": ["VibeDrift", "Claude Code", "Cursor", "MCP"], "alternates": {"html": "https://wpnews.pro/news/show-hn-vibedrift-measuring-ai-coding-drift-across-open-source-repos", "markdown": "https://wpnews.pro/news/show-hn-vibedrift-measuring-ai-coding-drift-across-open-source-repos.md", "text": "https://wpnews.pro/news/show-hn-vibedrift-measuring-ai-coding-drift-across-open-source-repos.txt", "jsonld": "https://wpnews.pro/news/show-hn-vibedrift-measuring-ai-coding-drift-across-open-source-repos.jsonld"}}