{"repo":"dadbodgeoff/drift","free":true,"listed":false,"github":"https://github.com/dadbodgeoff/drift","clone":"git clone https://github.com/dadbodgeoff/drift.git","description":"Codebase intelligence for AI. Detects patterns & conventions + remembers decisions across sessions. MCP server for any IDE. Offline CLI.","language":"TypeScript","stars":785,"topics":["ai-tools","cli","code-quality","csharp","java","mcp","mcp-server","model-context-protocol","pattern-detection","php"],"license":"MIT","category":"mcp-servers","readme_excerpt":"Drift Drift stops an AI agent from writing code that violates conventions your repo already follows. It runs entirely on your machine. Beta install: build from source. Nothing is published to npm yet — npm install -g @drift/cli does not work, and the driftdetect package on npm is the unrelated v1 from January. Building needs a Rust toolchain (rustup) because the scan engine is Rust. Then, in the repository you want to protect: start prints whether the convention it accepted will actually block, and the command to make it a gate if it will not. Now have an agent add a route that queries the database directly, the way a hundred other routes in your repo do not, and check the change: It names the file, the line, and the convention that was broken. In block mode it exits 2 . --diff main...HEAD only works once your branch has commits that main does not. On a freshly cloned repo you are on main , so that range is empty and Drift refuses rather than reporting a pass it cannot support — exit 3 . That refusal is correct; give it a range with changes in it. Scope — read this before adopting Drift enforces one convention family well, and says so rather than implying more: --- --- Languages TypeScript, JavaScript Frameworks Next.js API routes (App Router and Pages) Convention API routes must not import data-access clients directly Status Beta — local CLI and a read-only MCP server It does not review code generally, support other languages, modify your source, or sync anything to a server","default_branch":null,"files":null,"tree":[],"storefront":"/r/dadbodgeoff","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/dadbodgeoff/drift/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}