
AI가 작성한 코드를 위한 시맨틱 그래프 기반 버전 관리. 파일 diff 대신 엔티티와 관계를 추적하여 영향 범위 분석, 섀도 병합 리뷰, MCP 기반 에이전트 컨텍스트를 가능하게 함으로써 신뢰할 수 있는 AI 생성 소프트웨어를 지원합니다.
<p align="center"> <img src="https://assets.kitploit.com/production/public/readmes/12665/55686ad4696e166589300e948ce2ed89f45622266654371a433a31c612829ec8.png" alt="Kin, 사람과 AI 에이전트를 위한 코드 저장소" 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은 사람과 AI 에이전트를 위한 그래프 네이티브 코드 저장소입니다.** 소스, 기록된 코드 관계, 버전 관리된 이력을 저장소 상태로 저장합니다. 그래프는 저장소 모델이며, 다른 저장소 옆에 유지되는 검색 인덱스가 아닙니다. 함수, 타입, 그리고 그들 사이의 관계는 커밋하고, 브랜치하고, 병합하는 데이터입니다. 정확한 소스는 바이트 단위로 보존되며, 파일시스템 프로젝션을 통해 지원되는 도구들이 일반 파일로 계속 작동할 수 있습니다. **퍼블릭 베타.** 잘 알고 있는 실제 프로젝트에서 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에 대한 질문을 가져갈 곳입니다. ## 무엇이 연결되어 있는지 확인하세요 공유 함수를 변경하기 전에, 또 무엇을 살펴봐야 할까요? Kin을 사용하면 기록된 호출자를 조회하고 관련 코드를 탐색할 수 있습니다. CLI와 MCP 서버는 동일한 그래프를 쿼리하므로, 여러분과 여러분의 에이전트가 동일한 기록을 바탕으로 작업할 수 있습니다. <img src="https://assets.kitploit.com/production/public/readmes/12665/43f73477ba09d6aa7a5bb446cadaea9c36981cc1d093faacaa03b9b61346b955.png" alt="ripgrep에 대한 기록된 kin impact 쿼리로, 시그니처 변경에 대한 관련 엔티티를 보여줌" width="100%" /> *`e89fff89ac9af12e8d4ce9d5fd07beb408ca730f`에서 준비된 ripgrep 그래프에 기록되었습니다. 원시 실행 아티팩트는 공개되지 않습니다. 이는 워크플로를 보여주는 것이지 성능 벤치마크가 아닙니다.* ## 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`가 `~/.codex/config.toml`에 MCP 서버를 대신 작성하도록 하세요. 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 훅, 스파스 체크아웃, 또는 완료되지 않은 머지나 리베이스도 가져오기를 중단시킵니다. `kin init`은 각각에 대한 해결책을 알려주며, 새 클론은 대부분을 피할 수 있습니다. ### 1. 설치 macOS, Linux, WSL2에서 하나의 명령으로 Kin을 설치하고 발견한 AI 코딩 도구를 연결합니다. 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`로 설치하세요. `kin` CLI를 설치하며 AI 코딩 도구는 연결하지 않습니다. Windows에서는 WSL2가 여전히 권장 경로이기 때문입니다. [베타 제한](#beta-limits)의 Windows 항목은 그곳에서 작동하는 것을 설명합니다. 네이티브 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. AI 코딩 도구와 시맨틱 검색 `kin setup`은 발견한 AI 코딩 도구를 연결하기 전에 이미 물어보았고, 예라고 답했다면 연결했습니다. 별도의 연결 단계는 없습니다. 다른 도구를 설치한 후에는 `kin setup`을 다시 실행하세요. `kin setup status`는 무엇이 연결되었는지 보여줍니다. Windows에서는 WSL2 안에서 AI 도구를 연결하세요. 시맨틱 검색은 약 523 MB의 로컬 모델에서 실행되며, 설정은 무엇이든 다운로드하기 전에 물어봅니다. 아니라고 답했거나 `kin init`이 검색 인덱스가 모델을 기다리고 있다고 말하면, 다음이 모델을 다운로드하고 인덱스를 구축합니다: ```sh kin embed ``` Kin은 Claude Code, Codex, Cursor, Gemini 및 기타 MCP 클라이언트를 지원합니다. VS Code에는 `kin setup --intent editor`를 사용하세요. Kin은 또한 로컬 또는 호스팅된 OpenAI 호환 모델 엔드포인트를 위한 `kin agent run`을 포함합니다. [클라이언트 구성](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`가 어휘적 및 그래프 신호를 사용하고 누락된 벡터 커버리지를 보고합니다. ## 변경 검토 검토하려는 Git 브랜치에서 `kin init`을 실행한 후, 명시적 커밋 SHA를 `main`과 비교하세요: ```sh kin review shadow "$(git rev-parse main)..$(git rev-parse HEAD)" ``` 보고서는 `PASS`, `NEEDS ATTENTION`, 또는 `WOULD BLOCK`을 그래프에서 도출된 영향과 뒷받침 증거와 함께 반환합니다. **이는 권고 사항입니다:** 머지를 차단하거나 그래프 상태를 변경하지 않습니다. 작성자는 선언된 것이지 독립적으로 검증된 것이 아닙니다. ## Git과 함께 또는 없이 Kin 사용하기 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으로 기록한 커밋, 브랜치, 리뷰, 스펙은 Git이 아니라 `.kin`에 있습니다. `.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에서 제공되지 않으며, 리뷰 워크플로는 아직 그곳에서 테스트되지 않았으므로, 전체 Kin 경험을 위해서는 WSL2가 여전히 권장 경로입니다. ## 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) · [이슈](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)은 별도의 독점 호스팅 제품입니다. 공개 저장소 온보딩은 아직 개발 중입니다.