AI.news
主页教程研究工具模型AI创业讨论新闻每日简报WIKI🚀 创业库★ 投稿
AI+医疗机器人教育金融能源健康娱乐思考

VibeDrift: Stop your AI agent from getting worse as your project grows

It forgets your patterns, repeats code, and breaks what worked. VibeDrift catches the drift before it spreads.

Agent quality over sessions

With VibeDriftWithout

the drift92 · A41 · Dsession 5session 50

Plays nice with

Claude CodeCursorGitHub CopilotWindsurfAntigravityOpenAI CodexKiroAny MCP clientClaude CodeCursorGitHub CopilotWindsurfAntigravityOpenAI CodexKiroAny MCP clientClaude CodeCursorGitHub CopilotWindsurfAntigravityOpenAI CodexKiroAny MCP clientClaude CodeCursorGitHub CopilotWindsurfAntigravityOpenAI CodexKiroAny MCP clientClaude CodeCursorGitHub CopilotWindsurfAntigravityOpenAI CodexKiroAny MCP clientClaude CodeCursorGitHub CopilotWindsurfAntigravityOpenAI CodexKiroAny MCP clientClaude CodeCursorGitHub CopilotWindsurfAntigravityOpenAI CodexKiroAny MCP clientClaude CodeCursorGitHub CopilotWindsurfAntigravityOpenAI CodexKiroAny MCP clientClaude CodeCursorGitHub CopilotWindsurfAntigravityOpenAI CodexKiroAny MCP clientClaude CodeCursorGitHub CopilotWindsurfAntigravityOpenAI CodexKiroAny MCP client


Same project. Two different styles.

Your AI wrote both files, in two sessions. Both pass the linter. Together they teach it your project has no rules.

user_handler.ts

import { UserRepository } from '../repositories/user';
import { requireAuth } from '../middleware/auth';

export async function getUser(req: Request) {
  requireAuth(req);
  const user = await UserRepository.findById(id);
  if (!user) throw new NotFoundError();
  return user;
}

✓ Uses the repository pattern

✓ Checks the user is logged in

✓ Proper typed error

order_handler.ts

import { db } from '../config/database';

export async function getOrder(req: Request) {
  const id = req.params.id;
  const rows = await db.query('SELECT * FROM orders...');
  if (rows.length === 0) {
    return { status: 404, error: 'not found' };
  }
  return rows[0];
}

Anyone can call it, no auth

8 checks~2sruns locally


Your agent checks before it writes.

A 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.

get_dominant_pattern

What's this repo's error-handling pattern?

find_similar_function

Does a function like this already exist?

check_file_drift

Does this file match the repo's conventions?

validate_change

Would this change introduce drift?

get_intent_hints

What conventions has the team declared?

Five tools. Local and free, your code never leaves your machine, no login.

Add it in one line (Claude Code, Cursor, Windsurf, any MCP client)

$ claude mcp add vibedrift -- npx -y @vibedrift/cli mcp


// Everything you get

Find it, fix it, keep it clean.

One 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.

Find it. Fix it. In seconds.

0

drifts found

ranked by how much they hurt

my-saas-app

ERRORTwo patterns fighting

orderService.ts:42

ERRORMissing login check

admin/reports.ts:8

WARNSame function, two names

format.ts ↔ money.ts

+ 14 more, worst first

Three steps, no setup

1

Run npx @vibedrift/cli .

scans locally in ~2s

2

Read worst problems first

ranked by how much they hurt

3

Paste the fix into your agent

every finding ships with one

Agent memory

A .vibedrift/ folder your agent reads every session.

context.md

Patterns & open drifts

fix-prompts.md

One fix at a time

patterns.json

Machine-readable

Live checks (MCP)

Your agent asks your codebase mid-task, answer in under a second.

What's our error pattern?

Typed errors, never raw 404s

Will this cause drift?

It would. Use the repo pattern.

Watch mode

Refreshes the memory on every save. Zero network calls.

Open source

VibeDrift / VibeDrift

TypeScript28MIT


// Proof

We checked if it works. Honestly.

With 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.

Conventions the agent could already infer

≈ 0

No measurable change.

When the model would match your conventions anyway, the signal does nothing, and we're not hiding that.

Conventions it couldn't see or wouldn't pick

Cut by a statistically significant margin.

95% CI

[0.57, 1.11] , clears zero.


// Local vs Deep

Patterns catch the visible drift. Deep catches what they can't.

The 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.

Local scan

Free · Open source · Unlimited

  • Static + Code DNA analysis, pattern, structure, and duplicate checks, all on your machine in ~2s
  • Drift detectors, mismatched patterns and missing auth guards
  • Scaffolding detection, flags half-finished, copy-pasted code
  • Scan-over-scan delta, what changed since your last scan
  • CI-ready, fast enough for every save and pull request

Catches the stuff your code visibly does differently.

Deep scan

Pro · AI-powered

  • Semantic duplicates, the same logic hiding under different names
  • Intent mismatch detection, when a function's name doesn't match what it does
  • AI-validated findings, every result is double-checked by Claude, so you don't chase false alarms
  • Coherence report, a ranked scorecard of how consistent your code is with itself, worst first
  • Fix prompts, a ready-to-paste fix for each finding
  • In-editor via MCP, catches issues right as your agent writes them

Catches the conflicts you can't spot by eye, the ones hiding in what the code means.

The deep scan helps most exactly where your AI agent can't see your conventions on its own, which is right when drift creeps in.


Free to start. Pay only for deep scans.

Local scans and the local MCP tools are free on every plan, forever. Paid plans add a deep-scan budget and in-editor checks.

Free

$0

Start free. No card needed.

1 deep scan / month

+Unlimited local scans

+Free MCP tools, forever

+Vibe Drift Score + reports

+Scan-over-scan delta

Most popular

Pro

$15/mo

For developers shipping every day.

Everything in Free, plus

12 deep scans / month

+Drift trend over time

+In-editor deep checks via MCP

+Coherence report + copy-ready fixes

+Watch mode + git pre-push gate

+Top-ups: 5 scans for $10

Enterprise

Let's talk

Regulated, air-gapped, or self-hosted.

Everything in Pro, plus

Self-host in your cloud (BYOC)

+Team seats + shared dashboard

+SSO / SAML

+Custom rules + SLA

+GitHub App, auto-PR

+Dedicated support

Out of deep scans? Top up 5 for $10, on any plan. Credits never expire.


// FAQ

Questions, answered.

How do I get started?+

Run 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.

Does it auto-fix, or just flag drift?+

Both. 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.

What's the Vibe Drift Score?+

A 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.

Is it really open source?+

Yes. The local scanner is MIT-licensed at github.com/VibeDrift/VibeDrift.

Stop blaming the model.

See what your codebase has been teaching your AI.

Not ready to scan? Get notified of updates.