
Семантический контроль версий на основе графов для кода, написанного ИИ. Отслеживает сущности и связи вместо файловых диффов, обеспечивая анализ радиуса поражения, теневой обзор слияний и контекст агента на базе MCP для заслуживающего доверия программного обеспечения, сгенерированного ИИ.
<p align="center"> <img src="https://assets.kitploit.com/production/public/readmes/12665/55686ad4696e166589300e948ce2ed89f45622266654371a433a31c612829ec8.png" alt="Kin, репозиторий кода для людей и ИИ-агентов" width="100%" /> </p> <h3 align="center">Новая основа для кода.</h3> <p align="center"> <a href="https://github.com/firelock-ai/kin/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-Apache--2.0-blue.svg" alt="Apache-2.0" /></a> <a href="https://github.com/firelock-ai/kin/releases/latest"><img src="https://img.shields.io/badge/release-latest-6E56CF.svg" alt="Latest release" /></a> </p> **Kin — это графовый репозиторий кода для людей и ИИ-агентов.** Он хранит исходный код, зафиксированные связи между кодом и версионированную историю как состояние репозитория. Граф — это модель репозитория, а не поисковый индекс, поддерживаемый рядом с другим репозиторием. Функции, типы и связи между ними — это данные, которые вы коммитите, ветвите и сливаете. Точный исходный код сохраняется байт в байт, а проекции файловой системы позволяют поддерживаемым инструментам продолжать работать с обычными файлами. **Публичная бета.** Попробуйте Kin на реальном проекте, который вы хорошо знаете. Ожидайте шероховатостей. [Быстрый старт](#quickstart) · [Документация](https://github.com/firelock-ai/kin/blob/main/docs/quickstart.md) · [Демо в браузере](https://kinlab.ai/demo) <p align="center"> <img src="https://raw.githubusercontent.com/firelock-ai/kin/main/docs/assets/kin-impact-human-bytes.gif" alt="kin impact human_bytes --file crates/kin-cli/src/commands/cache.rs --kind function --depth 1, показывающий его прямых вызывающих в собственной кодовой базе Kin рядом с поиском git grep по тому же имени" width="100%" /> </p> Звезда помогает другим людям найти Kin, а [Discussions](https://github.com/firelock-ai/kin/discussions) — это место, куда можно прийти с вопросом о нём. ## Посмотрите, что связано Прежде чем менять общую функцию, что ещё стоит проверить? Kin позволяет найти её зафиксированных вызывающих и исследовать связанный код. CLI и MCP-сервер обращаются к одному и тому же графу, так что вы и ваш агент можете работать с одной и той же записью. <img src="https://assets.kitploit.com/production/public/readmes/12665/43f73477ba09d6aa7a5bb446cadaea9c36981cc1d093faacaa03b9b61346b955.png" alt="Зафиксированный запрос kin impact по ripgrep, показывающий связанные сущности для изменения сигнатуры" width="100%" /> *Записано на подготовленном графе ripgrep на `e89fff89ac9af12e8d4ce9d5fd07beb408ca730f`. Исходные артефакты запуска не публичны. Это иллюстрирует рабочий процесс, а не показатель производительности.* ## Используйте его из Claude Code, Codex или Cursor Для Claude Code: ``` /plugin marketplace add firelock-ai/kin /plugin install kin@kin ``` Для [Codex](https://github.com/firelock-ai/kin/blob/main/plugins/kin-codex/README.md#install) добавьте маркетплейс и установите плагин, или позвольте `kin setup --intent agent` прописать MCP-сервер в `~/.codex/config.toml` за вас. Для Cursor добавьте MCP-сервер вручную; точный фрагмент смотрите в [plugins/kin-cursor](https://github.com/firelock-ai/kin/blob/main/plugins/kin-cursor/README.md#install). После установки выполните `kin init .` в свежем клоне проекта, который вы хорошо знаете; навык `kin-setup` проведёт вас через всё остальное. Kin не публикуется на crates.io. Крейт `kin` там — это не связанный с ним проект. ## Быстрый старт Начните со свежего полного клона проекта, который вы хорошо знаете. `kin init` читает вашу историю Git, не изменяя её и ваши отслеживаемые файлы. Он добавляет каталог `.kin` и одну строку в `.git/info/exclude`. Импорт охватывает каждый коммит, достижимый из ваших веток и тегов, поэтому время, память и диск растут с историей, а не с размером рабочей копии. Перед запуском `kin init` проверяет память и свободное место на диске и останавливается с числами, когда уже может сказать, что машине не хватает ресурсов. **Неглубокие клоны, подмодули и Git LFS не поддерживаются**, а хуки Git, разреженная рабочая копия или незавершённый merge или rebase также останавливают импорт. `kin init` называет исправление для каждого случая, а свежий клон позволяет избежать большинства из них. ### 1. Установка На macOS, Linux и WSL2 одна команда устанавливает Kin и подключает найденные им инструменты ИИ-кодинга. Требуется Node.js 20 или новее: ```sh npx -y @kinlab/kin setup ``` На машине без Node вместо этого запустите установщик. `get.kinlab.ai` и `get.kinlab.dev` отдают один и тот же скрипт: ```sh curl -fsSL https://get.kinlab.dev/install | sh ``` В любом случае перезагрузите оболочку отдельной командой, потому что установка помещает `kin` в `~/.kin/bin` и добавляет этот каталог в профиль вашей оболочки для новых сессий: ```sh exec "$SHELL" -l ``` На нативном Windows x64 установите из PowerShell с помощью `irm https://get.kinlab.dev/install.ps1 | iex`. Он устанавливает CLI `kin` и не подключает инструменты ИИ-кодинга, потому что WSL2 остаётся рекомендуемым путём на Windows. Раздел про Windows в [Ограничениях беты](#beta-limits) описывает, что там работает. Нативная сборка для Windows ARM64 не публикуется. На машине с ARM64 запустите эту строку из x64 PowerShell, чтобы установить сборку x86_64 под эмуляцией, или используйте WSL2. Установщик добавляет `kin` в ваш пользовательский PATH, поэтому вместо `exec "$SHELL" -l` откройте новое окно PowerShell перед следующим шагом. О других установщиках или устранении неполадок см. [полное руководство по быстрому старту](https://github.com/firelock-ai/kin/blob/main/docs/quickstart.md#1-install). ### 2. Инициализация репозитория В новой командной строке клонируйте репозиторий с помощью Kin: ```sh kin clone https://github.com/pallets/itsdangerous ``` Или инициализируйте тот, что у вас уже есть, заменив путь ниже: ```sh cd /path/to/your/repository && kin init . && kin overview && kin status ``` Обе команды заканчиваются следующей командой для запуска — вопросом `kin refs` о функции в этом репозитории. Они также подключают к нему Codex CLI и Grok CLI, если вы разрешили это при настройке, потому что эти клиенты хранят одну запись, называющую репозиторий. В Windows PowerShell 5.1 нет `&&`, поэтому на нативном Windows запускайте те же команды по одной и останавливайтесь, если одна из них завершится ошибкой: ```powershell cd C:\path\to\your\repository kin init . kin overview kin status ``` `kin overview` показывает сущности, импортированные Kin. `kin status` показывает, что было принято, и состояние рабочего дерева относительно этого. `kin graph status` сообщает о живом графе запросов и покрытии демона. Незакоммиченные и неотслеживаемые изменения не являются частью импортированной истории Git; `kin init` сообщает, что он пропустил. ### 3. Задайте вопрос, который можно проверить Поищите то, о чём вы уже знаете, что оно есть в коде: ```sh kin locate "<something you already know is in this repository>" ``` Замените `ExactEntityName` ниже на символ из результата: ```sh kin refs ExactEntityName kin trace ExactEntityName kin impact ExactEntityName ``` `refs` возвращает зафиксированные ссылки, `trace` добавляет близкий контекст, а `impact` исследует потенциальные последствия через граф. Сверьте результаты с исходным кодом. ### 4. Ваши инструменты ИИ-кодинга и семантический поиск `kin setup` уже спросил перед подключением найденных им инструментов ИИ-кодинга и подключил их, если вы сказали да. Отдельного шага связывания нет. После установки другого инструмента снова запустите `kin setup`, а `kin setup status` покажет, что подключено. На Windows подключайте ИИ-инструменты внутри WSL2. Семантический поиск работает на локальной модели размером около 523 МБ, и настройка спрашивает перед тем, как что-либо скачивать. Если вы сказали нет, или `kin init` сообщает, что поисковый индекс ждёт модель, эта команда скачает её и построит индекс: ```sh kin embed ``` Kin поддерживает Claude Code, Codex, Cursor, Gemini и другие MCP-клиенты. Используйте `kin setup --intent editor` для VS Code. Kin также включает `kin agent run` для локальных или размещённых конечных точек моделей, совместимых с OpenAI. [Конфигурация клиента](https://github.com/firelock-ai/kin/blob/main/docs/readme-reference.md#works-with-your-agent) · [Инструменты MCP](https://github.com/firelock-ai/kin/blob/main/docs/mcp-tools.md) · [Встроенный агент](https://github.com/firelock-ai/kin/blob/main/docs/cli-reference.md#kin-agent) Локальные импорты, хранение и запросы выполняются на вашей машине. Установка и первоначальная загрузка модели эмбеддингов требуют доступа к сети. Пока эмбеддинги не готовы, `kin locate` использует лексические и графовые сигналы и сообщает об отсутствующем векторном покрытии. ## Проверка изменения После запуска `kin init` на ветке Git, которую вы хотите проверить, сравните явные SHA коммитов с `main`: ```sh kin review shadow "$(git rev-parse main)..$(git rev-parse HEAD)" ``` Отчёт возвращает `PASS`, `NEEDS ATTENTION` или `WOULD BLOCK`, с выведенным из графа влиянием и подтверждающими доказательствами. **Он носит рекомендательный характер:** он не блокирует слияние и не изменяет состояние графа. Авторство заявляется, а не проверяется независимо. ## Используйте Kin с Git или без него У Kin есть собственные коммиты, ветки, слияния, диффы и история, в том числе в репозиториях без Git под ними. Существующие репозитории Git можно импортировать, а поддерживаемые рабочие процессы могут экспортировать новый репозиторий Git. [Руководство по нативному контролю версий](https://github.com/firelock-ai/kin/blob/main/docs/readme-reference.md#version-control-without-git) · [Совместимость с Git и ограничения экспорта](https://github.com/firelock-ai/kin/blob/main/docs/readme-reference.md#how-kin-relates-to-git) ## Ограничения беты **Покрытие неполное.** Поддерживаемые языки разбираются на сущности и связи; остальные файлы остаются доступны как содержимое и история. Пустой результат не доказывает, что вызывающих или зависимостей нет. Продолжайте использовать ваш компилятор, тесты и ревью. См. [поддержку языков](https://github.com/firelock-ai/kin/blob/main/docs/language-support.md). **Совместимость различается.** Архивы релизов не включают устаревшую проекцию файловой системы `kin-vfs`, поэтому нет прозрачной проекции, на которую можно положиться. Смотрите [заметки о платформах](https://github.com/firelock-ai/kin/blob/main/docs/readme-reference.md#platform-and-maturity), чтобы узнать, что поддерживает каждая платформа. **Делайте резервные копии состояния, существующего только в Kin.** Коммиты, ветки, ревью и спецификации, которые вы записываете с помощью Kin, живут в `.kin`, а не в Git. Удаление `.kin` и повторный импорт из Git не восстановит их, поэтому сначала запустите `kin backup create`. Прочитайте [заметки об импорте, восстановлении и обновлении](https://github.com/firelock-ai/kin/blob/main/docs/readme-reference.md#what-is-real-today-and-what-is-beta). **Windows.** Нативная поддержка Windows x86_64 находится на ранней стадии. Приём репозитория работает: `kin init` импортирует репозиторий Git и публикует авторитет графа, а графовые, лексические и основанные на демоне запросы отвечают нативно. Сквозное доказательство установки также запускает настройку агента на нативном Windows и получает ответы на основе графа от установленного MCP-сервера. Прозрачная проекция файловой системы не поставляется на Windows, а рабочие процессы ревью там ещё не протестированы, поэтому WSL2 остаётся рекомендуемым путём для полного опыта Kin. ## Почему я создал Kin Я продолжал наблюдать, как агенты кодинга собирают по частям кодовую базу, которую мы уже проработали. Затем я сам проделывал версию этой работы, чтобы проверить их изменения. Я начал задаваться вопросом, почему большая часть этого структурного понимания не является частью самого репозитория. Вот что я создаю с Kin. Troy ## Узнать больше и внести вклад [Справочник CLI](https://github.com/firelock-ai/kin/blob/main/docs/cli-reference.md) · [Архитектура и подробные ограничения](https://github.com/firelock-ai/kin/blob/main/docs/readme-reference.md) · [Участие в разработке](https://github.com/firelock-ai/kin/blob/main/CONTRIBUTING.md) · [Issues](https://github.com/firelock-ai/kin/issues/new/choose) · [Безопасность](https://github.com/firelock-ai/kin/blob/main/SECURITY.md) Kin и его локальный стек, включая [kin-db](https://github.com/firelock-ai/kin-db), распространяются под [Apache-2.0](https://github.com/firelock-ai/kin/blob/main/LICENSE). [KinLab](https://kinlab.ai) — это отдельный проприетарный хостинговый продукт. Публичное подключение к репозиторию всё ещё в разработке.