Stop AI Coding Assistants from Drifting Off Your Architecture A developer built Auterix, an open-source tool that enforces a deterministic four-stage workflow to stop AI coding assistants like Cursor, Claude Code, and GitHub Copilot from drifting off a project's architectural constraints. The tool synchronizes rules across 21 AI coding tools from a single canonical spec and requires assistants to verify their context before touching code. Auterix is released under the MIT license as pure Node.js ESM with no runtime dependencies. You're 15 turns into a session with Cursor. The AI is sharp, moving fast, and suddenly it overwrites a core utility file with a "simplified" version that breaks three downstream modules. You catch it before it commits, but the damage is done: the assistant forgot a constraint you set ten messages ago. This happens to everyone using Cursor, Claude Code, Copilot, or any conversational AI coding tool. And it's not because the models aren't smart enough. AI coding assistants work brilliantly at what they were designed to do: follow instructions in a conversation. But conversations have limited memory. After 5–10 turns, the model's context window has cycled through enough new information that architectural constraints you spelled out at the top get deprioritized. A single-file edit? The model nails it. But multi-file changes expose the weakness. The assistant: The assistant isn't hallucinating randomly. It's operating on incomplete context. And every time you re-explain the rules, you're not actually fixing the problem—you're working around it. I was building a Next.js application with Claude Code, Cursor, and GitHub Copilot. Each tool reads its own config format: .cursorrules CLAUDE.md .github/copilot-instructions.md But here's the thing: they were different . A rule I added to .cursorrules didn't exist in CLAUDE.md . When I switched tools mid-session, the new assistant had a different mental model of my project. Over a week, this led to: I realized: the problem isn't the AI. The problem is that context is treated as a conversational artifact instead of a protocol contract . What if, instead of relying on the assistant's memory, you made it verify its context before touching code? I built Auterix to enforce a deterministic 4-stage workflow: Before writing code, the assistant must state what it's about to change and why . It re-reads the relevant parts of your codebase, checks .cursorrules and CLAUDE.md , and confirms alignment with the project's constraints. // Example: Assistant reads the project spec first // "I'm about to modify the error handler in utils/errors.ts // because the auth flow needs to return a 401 instead of 403. // I verified: // - Pattern matches existing error throws in src/middleware/auth.ts // - Follows the ErrorResponse type in types/index.ts // - Doesn't conflict with the global error boundary" The assistant generates an explicit diff showing exactly what it will change. You see the scope before execution. You approve. The model doesn't touch a single file without your sign-off. Only after confirmation does the assistant execute. It runs tests, checks for cascading failures, and reports back. This turns AI coding from "hope the assistant remembered your constraints" into "the assistant proved it understood them." Auterix synchronizes your rules once , across all 21 AI coding tools. You define your architecture in a single canonical file, and Auterix ensures every tool sees the same constraints. Install and initialize npx auterix init Syncs .cursorrules, CLAUDE.md, .windsurfrules, and .agents/ from a single spec Then, run the diagnostic: npx auterix doctor This checks: If any check fails, the diagnostic tells you why. No more silent drift. Don't want to install the CLI yet? Use the Auterix Web Studio. Select your stack Next.js, FastAPI, Cloudflare Workers, React Native, AI agent pipeline , configure your rules, and export a ready-to-use .cursorrules file. No CLI install, no setup friction. Auterix is 100% open-source MIT license , pure Node.js ESM, no runtime dependencies. It's a 2-minute install and immediately valuable. ✅ Context drift: Assistants can't forget rules they verify before executing ✅ Multi-tool friction: Sync once, use everywhere ✅ Silent regressions: Drift detection catches violations early ✅ Review overhead: The assistant is pre-audited before you see code ✅ Context pollution: Hash locks prevent stale context from being used npx auterix init npx auterix doctor Or test the Web Studio: https://auterix.vercel.app https://auterix.vercel.app The repo is on GitHub: https://github.com/SapanMozammel/auterix https://github.com/SapanMozammel/auterix I'm also building Auterix Pro — a commercial tier with production blueprints, pre-built guards for common frameworks, and CI/CD integration for teams. But the core is open and free. I'd love to hear from you: Drop a comment below or open an issue on GitHub.