Antoine Levy released XEOLint on March 14, 2026 — a Python CLI tool that audits Next.js projects for the metadata, semantic markup, and crawlability signals that AI-assisted "vibecoded" projects routinely ship without. Available via PyPI as `pip install xeolint`, it bills itself as "ESLint for Discoverability": a static code analyzer covering both app/ and pages/ routers, 21 rules across four severity tiers, and checks for missing titles, canonical URLs, Open Graph tags, JSON-LD structured data, heading hierarchy, semantic HTML landmarks, alt text, and client-side rendering pitfalls. A `xeolint fix` command handles deterministic, low-risk corrections such as generating missing robots.txt and sitemap.xml files.

Levy described the origin story directly in his Hacker News launch post: repeated sessions with Cursor and Claude Code to retroactively patch discoverability issues in his own vibecoded projects became tedious enough that he automated the audit into a reusable tool. XEOLint explicitly covers both traditional SEO and what practitioners are calling GEO — Generative Engine Optimization — the discipline of structuring content so that AI-driven surfaces like ChatGPT Search, Perplexity, and Google's AI Overviews can accurately understand and surface a site. GEO-specific rules check for unclear page purpose, weak entity clarity, missing FAQ schema, and fact density signals.

No major GEO platform operates as a CLI tool or performs pre-deployment static code analysis. The dominant GEO players — Otterly.ai, Profound, Peec.ai, GEOReport.ai, SE Ranking's AI Visibility Analytics — are post-deployment SaaS monitors that query live AI engines to measure brand citations and share-of-voice after the fact. Incumbent technical SEO crawlers like Screaming Frog have responded to LLM crawlers primarily by adding GPTBot and ClaudeBot log monitoring on already-deployed sites. Yoast SEO added automated llms.txt generation for WordPress, leaving the Next.js ecosystem unserved.

XEOLint is MIT-licensed, still in alpha (v0.1.0, Development Status 3), and Levy is actively seeking contributions for additional rule coverage, framework support beyond Next.js, and improved machine-readability heuristics. AI coding tools have gotten good at producing structurally complete UIs; they have not gotten good at the metadata layer. That gap is what XEOLint is built to fill.