Understand Kin
How Kin keeps code connected.
Kin keeps code, the connections it finds and their change history together. People and AI can inspect that record while supported tools still work with familiar files. Explore the parts below.
Documentation
Start
Work with code
Connect tools
Understand Kin
Reference
Troubleshoot
Start
Work with code
Connect tools
Understand Kin
Reference
Troubleshoot
How this works in Kin
Kin stores source, code entities, relationships and versioned history as repository state. Its native operations work on that record, while the CLI, MCP server and supported filesystem projections provide different ways to use it. The graph is the repository model, not a search index maintained beside another repository.
What each part owns
Explore the components
The graph
Repository identity, tree state, history, refs and semantic relations, once kin init has imported the reachable Git history. Filesystem and Git views are projections of it.
The daemon
Holds the graph for a repository and answers queries. It discovers language servers once at startup, enriches the graph with resolved edges where one is wired, and runs embedding in the background under its own memory allowance.
The CLI
One caller of the daemon. kin locate, kin refs, kin trace and kin impact ask it questions; kin commit, kin branch, kin merge, kin blame and kin stash change and read the ledger; kin doctor grades the install.
The MCP server
The same graph, exposed to any agent client that reads a standard MCP config. kin setup writes the entry; kin mcp start serves it.
Kin's own agent
kin agent run drives any OpenAI-compatible endpoint over that same MCP server, with Kin's tools plus edit_file and write_file and nothing else.
The filesystem projection
kin-vfs serves graph content as ordinary files so compilers, editors and shells need no change. Four modes: an injected shim, an NFS mount, a FUSE mount and Windows ProjFS.
The Git export
kin git export writes a new bare Git repository from one generation of the graph. It reads no working files and no ambient .git store.
KinLab
The hosted product for teams, in development. It is a separate product over the same model and is not part of the local release claim.
History, and what a checkpoint misses
Compare history and checkpoints
Some coding tools save a checkpoint of your working files on a timer, so you can roll back to any minute of the afternoon. That is useful, and Kin does not replace it. A checkpoint restores text. It cannot tell you which other code uses the piece you just changed, because it never recorded that.
Kin records history per entity rather than per file, and it records semantic changes rather than snapshots, so a change carries what it did to the graph: which entities were added or modified, how a signature moved, which relations appeared. That is what makes kin history answer about a function and kin blame answer with the signature at each revision. It is also why a change committed with Git alone does not appear in either: Kin history is built from semantic changes, and a Git commit does not create one.
Run both. A checkpoint tool and Kin answer different questions, and neither one covers for the other. The history page walks the recording path end to end.
Follow a recorded changeKin works beside Git
Read the Git compatibility details
Admission reads a Git repository and builds Kin authority from it, keeping the origin of every change, and Git keeps working the whole time: recording a change in Kin does not move Git, and export writes a new Git repository back out from graph truth. That is a coexistence path today rather than a replacement, which is what kin capabilities says about itself.
The Git page walks that path with the commands run and the output they printed, including what git status and git log report while Kin holds a change.
Familiar files for other tools
Supported tools can read a file view of code held by Kin. The details below explain that boundary and include an illustration of the read path.
Explore the filesystem projection and diagram
Compilers, linters and editors expect a raw filesystem; none of them know what a code graph is. Rather than write a FUSE mount driver, kin-vfs's default mode achieves transparent filesystem projection through dynamic library interposition: a shim injected with LD_PRELOAD on Linux or DYLD_INSERT_LIBRARIES on macOS intercepts low-level libc calls such as open(), openat() and read().
No raw file search in Kin's answer path
Reads through the shim resolve from AST nodes and slices in the graph. Kin never answers a repository question by grepping your files.
Transparent daemon routing
The shim intercepts the file read path, routes the query to the local running kin-daemon over a Unix domain socket, and materializes a semantic view of the file.
Transparent local disk fallback
A path outside Kin's database boundaries, such as node_modules or a compiler configuration file, bypasses interception and falls back directly to the local disk.
IllustrationHow interception works
How a read travels through the shim
Click any node above to read its role in the projection path. A worked example, not live data.
Exercised system capabilities
Read which workflows the tests cover
Kin's test suites and benchmarks evaluate core repository subsystems through reproducible runs:
- The native CLI and daemon on new projects, imported Git repositories, and complete version-control sessions.
- Model Context Protocol (MCP) tool integration: connecting AI coding agents to graph status, references, and focused context queries.
- Native branching, merging, conflict resolution, multiple undo tiers, and semantic history inspection.
- Git export integrity: full tree export where working-tree files match their exported copy by SHA-256 across multiple independent runs.
- Local network transport: HTTP-based clone, push and pull between distinct repositories, preserving history and file contents byte for byte.
Active engineering boundaries
Kin makes explicit what is supported in current public alpha releases and what remains in active development:
- Filesystem projection (kin-vfs). The interceptor library ships in Linux and macOS release archives. Evaluation tooling primarily targets direct CLI and MCP surfaces while kernel and shim integrations progress through developer preview.
- Multi-user hosted collaboration. Local clone, push and pull protocols operate over HTTP. Hosted team permissions and shared repository state belong to KinLab, which is in development.
- Native Windows filesystem projection and large-scale monorepos. POSIX platforms (Linux and macOS) are the tier 1 targets for the public alpha. Windows ProjFS support and monorepo scaling are scheduled milestones.
- Hosted KinLab platform. Evaluation scope, team governance, and hosted services are developed in collaboration with design partners.
See it on your own machine
Every part above reports on itself. kin doctor grades the binary, the daemon, the repository, the projection and every detected client; kin graph status reports what the graph holds and how much of it is indexed; kin capabilities says which command surfaces are ready and which are bounded. Those three were run on Kin v0.7.6 on 2026-09-09 for the pages in this section. Current release: v0.7.19.
Open source and licensing
Kin's core repository engine is open source on GitHub at firelock-ai/kin. The repository format, the CLI, the daemon, the MCP server, and the core libraries under the kin workspace are published under Apache-2.0. Supporting packages, including the virtual filesystem shim and language server boundaries, are open under MIT and Apache-2.0.
Local Kin
Open source repo format, CLI, daemon, MCP server, and projections run entirely on your local machine with zero network dependencies.
Hosted KinLab
Proprietary hosted team service in active development, providing shared organizational memory and governance.
Next action
Open the component you care about.
The repository map carries each part as its own page with its boundary and its source, and most of them are public under Apache-2.0.
The repository map