geo-lint
IJONIS/geo-lintПервый open-source GEO-линтер с 92 правилами для SEO, GEO и качества контента. Запускается AI-агентами: сканирует нарушения, исправляет их по полю suggestion и повторяет до чистого результата.
Установка
npx geo-lint # Human-readable outputREADME
@ijonis/geo-lint
Первый open-source линтер для GEO (Generative Engine Optimization). Проверяет контент на видимость в AI-поиске — и позволяет AI-агенту исправить всё автоматически.

Использование с Claude Code
Установите скилл geo-lint одной командой:
curl -fsSL https://raw.githubusercontent.com/IJONIS/geo-lint/main/install.sh | bashЗатем в любой сессии Claude Code:
/geo-lint audit # Полная проверка — найти и исправить все нарушения
/geo-lint fix <slug> # Исправить один файл контента
/geo-lint rules # Показать все 97 правил со стратегиями исправления
/geo-lint init # Настроить geo-lint.config.ts для нового проекта
/geo-lint report # Сформировать сводку по GEO/SEO-здоровью
Скилл запускает автономный цикл lint-fix: сканирует контент, читает структурированные нарушения, исправляет их по полю suggestion каждого нарушения и повторяет проверку до чистого результата. Параллельные субагенты обрабатывают несколько файлов одновременно.
Пайплайн создания контента
При установке также добавляется /content-creator — самонастраивающийся пайплайн, который создаёт SEO- и GEO-оптимизированный контент под ваш проект:
/content-creator setup # Автообнаружение проекта + настройка голоса бренда
/content-creator create # Создание контента с исследованием ключевых слов и валидацией
/content-creator voice # Анализ и корректировка голоса бренда
/content-creator calendar # Планирование ежемесячного контент-календаря
/content-creator refresh # Обновление конфига при изменении проекта
При первом запуске скилл сканирует проект: определяет фреймворк, схему контента, категории и авторов. Затем задаёт несколько вопросов о голосе бренда и целевой аудитории. После этого каждый создаваемый материал учитывает контекст проекта и проходит валидацию по 97 правилам geo-lint до чистого результата — без ручного вмешательства в механическую проверку качества.
Или вставьте это в любой AI-агент (Claude Code, Cursor, Windsurf, Copilot):
Run npx geo-lint --format=json, then fix every violation using each
violation's suggestion field. Re-run until the output is [].
Зачем это нужно
Я веду несколько контентных сайтов, и у меня не было детерминированного способа проверить, действительно ли контент оптимизирован — не «скорее всего нормально», а проверен по конкретным правилам. SEO-линтеры существуют, но они либо платные SaaS, либо не поддаются автоматизации, либо полностью игнорируют структурные паттерны, которые AI-поисковики используют при выборе источников для цитирования.
Поэтому я написал свой. GEO (Generative Engine Optimization) — это практика структурирования контента так, чтобы его цитировали ChatGPT, Perplexity, Google AI Overviews и Gemini. Традиционный SEO помещает вас в списки результатов поиска. GEO обеспечивает цитирование в AI-сгенерированных ответах. Оба подхода важны — и ни один существующий open-source инструмент не проверяет GEO.
Цель была простой: установить один инструмент, направить на него AI-агента и уйти. Агент запускает линтер, читает JSON-нарушения, исправляет контент, повторяет проверку до чистого результата — по всему сайту, без ручного ввода. Одна команда, SEO и GEO проверены.
97 правил: 36 GEO, 34 SEO, 14 по качеству контента, 10 технических, 3 i18n. Анализ читаемости вдохновлён Yoast SEO. Мы исследовали текущее состояние GEO и AEO, чтобы правила отражали то, что реально влияет на цитируемость контента, а не устаревшие рекомендации.
Быстрый старт
npm install -D @ijonis/geo-lint
Создайте geo-lint.config.ts:
import { defineConfig } from '@ijonis/geo-lint';
export default defineConfig({
siteUrl: 'https://your-site.com',
contentPaths: [{
dir: 'content/blog',
type: 'blog',
urlPrefix: '/blog/',
}],
});Запустите:
npx geo-lint # Читаемый вывод для человека
npx geo-lint --format=json # Машиночитаемый вывод для AI-агентовРаботает из коробки с файлами .md/.mdx. Для Astro, HTML и других форматов см. Custom Adapters.
GEO на практике
Три примера того, что ловят GEO-правила и как это исправить. См. все 7 ключевых GEO-правил с примерами.
geo-weak-lead-sentences
AI-системы используют первое предложение после заголовка как сниппет для цитирования. Вводные фразы-заглушки пропускаются.
До:
## What is serverless computing?
In this section, we will take a closer look at serverless computing and
what it means for modern development teams.После:
## What is serverless computing?
Serverless computing is a cloud execution model where the provider
dynamically allocates compute resources per request, eliminating the
need to provision or manage servers.geo-low-citation-density
AI-ответы предпочитают утверждения, подкреплённые цифрами. Расплывчатые формулировки игнорируются.
До:
Adopting TypeScript significantly reduces bugs in large codebases.
После:
Adopting TypeScript reduces production bugs by 38% in codebases
exceeding 50,000 lines of code, according to a 2023 study by
Microsoft Research.geo-missing-table
Таблицы хорошо структурированы и однозначны — идеальны для извлечения AI. Контент с таблицами сравнения цитируется значительно чаще, чем аналогичный текст в прозе.
До:
React is component-based and uses a virtual DOM. Vue is also
component-based but uses a reactivity system. Svelte compiles
components at build time.После:
| Framework | Architecture | Bundle Size | Learning Curve |
|-----------|------------------|-------------|----------------|
| React | Virtual DOM | ~42kb | Medium |
| Vue | Reactivity system| ~34kb | Low |
| Svelte | Compiled | ~1.6kb | Low |