# Kin

A graph-native code repository, still in public beta, that stores source code, recorded relationships between functions and types, and versioned history as the repository's own state, queryable by a CLI or an MCP server.

Kin treats the dependency graph between functions, types and other code entities as data that is committed, branched and merged alongside the source itself, rather than as a search index built beside an ordinary git repository. Exact source is preserved byte for byte, and filesystem projections let existing tools keep working with ordinary files on top of the graph.

A CLI and an MCP server query the same graph, so before changing a shared function a developer, or their AI agent working through Claude Code, Codex or Cursor, can look up its recorded callers and related code from a single source of truth. Setup starts with kin init in a fresh, full clone of a project, which reads the project's git history without altering tracked files, adding a .kin directory and a line to .git/info/exclude; shallow clones, submodules, Git LFS, active Git hooks, a sparse checkout, or an unfinished merge or rebase are not supported and are checked for before import.

It is written in Rust, is in public beta with expected rough edges, and is released under the Apache-2.0 license. The kin package on crates.io is an unrelated project.

Website: https://kinlab.ai
