github-twin

github-twin

ChristopherDavenportMIT
github-twin — персональная RAG-система для истории вашей работы на GitHub. Сервер индексирует коммиты, код изменений и комментарии к пул-реквестам. Claude Code (или другой MCP-клиент) получает доступ к этим данным как к долговременной памяти. Это решает проблему «пустого стола» — AI не забывает ваш прошлый опыт, а подгружает релевантные примеры из коммитов и ревью. Работает в двух режимах. Пользовательский — индексирует вашу личную историю. Организационный — сканирует код всей команды по репозиториям, языкам и авторам. Поиск гибридный: BM25 + векторы. Код анализируется через AST (tree-sitter). Эмбеддинги вычисляются локально — данные не покидают вашу машину.

Установка

uvx github-twin

Характеристики

Общее

  • СтатусСообщество
  • РазработчикChristopherDavenport
  • ЛицензияMIT

Технологии

  • Языки
    Python
  • Транспорт
    stdio

Описание

Возможности

  • Индексация ваших коммитов и комментариев к PR.
  • Индексация кода целой организации (Org mode) с фильтрацией по репозиторию, языку или участнику.
  • Гибридный поиск: текстовый (BM25) и векторный с ранжированием RRF.
  • AST-анализ через tree-sitter для Python, Scala, JavaScript, TypeScript, Go и Rust.
  • Локальные эмбеддинги через Ollama или sentence-transformers — полная приватность кода.
  • Контекстное обогащение: к каждому чанку кода прикрепляется заголовок и опциональное LLM-резюме.
  • Два интерфейса: MCP-сервер для интеграции с AI и CLI-команда `gt` для ручного поиска.
  • Утилиты для оценки качества поиска (`gt eval`) и статистики (`gt stats`).

Как подключить

Установите сервер одной командой. Виртуальное окружение не требуется.

uvx github-twin serve

Перед первым запуском пройдите аутентификацию в GitHub — сервер откроет браузер.

Добавьте сервер в конфигурацию Claude Code. Отредактируйте файл ~/.claude.json:

{
"mcpServers": {
"github-twin": { "command": "uvx", "args": ["github-twin", "serve"] }
}
}

Перезапустите Claude Code. Сервер готов к работе.

Примеры запросов

  • «Напиши функцию валидации в стиле, который я использовал в коммитах за последние полгода.»
  • «Проверь этот pull request. Найди в моих прошлых ревью аналогичные замечания и добавь их в отзыв.»
  • «Покажи, какие паттерны обработки ошибок мы используем в Go-микросервисах команды.»
  • «Создай код-ревью для нового PR. Сверься с моими прошлыми комментариями по безопасности.»

Технические детали

Язык: Python. Транспорт: stdio. Лицензия: MIT. Векторизация: Ollama, sentence-transformers, Gemini (опционально). Анализ кода: tree-sitter (Python, Scala, JavaScript, TypeScript, Go, Rust). Интерфейсы: MCP-сервер, CLI. Совместимые клиенты: Claude Code, любые MCP-клиенты.

Поделиться