
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-клиенты.