Documentation
Go from install to a useful answer.
The shortest path is Install, Setup, Verify, Query, then connect the agent or editor you already use. Kin is a public beta, and open source under Apache-2.0.
Documentation
Start
Work with code
Connect tools
Understand Kin
Reference
Troubleshoot
Start
Work with code
Connect tools
Understand Kin
Reference
Troubleshoot
Quickstart
From nothing installed to one answer you can check.
Steps two through five were run end to end on the exact two-file repository step two creates, using the npm-published release in an isolated scratch environment. The PowerShell version of step two writes the same two files. Follow the steps in order; each one says what you should see before you move to the next one. Steps three to five are the same in every shell.
- 01
Install Kin
One command on macOS, Linux, WSL2 and Windows x64. It installs Kin and registers it with the AI coding tools on the machine. It needs Node.js 20 or newer; the install page carries installers for a machine without it. There is no Windows ARM64 build, so use WSL2 there. Kin lands in ~/.kin/bin and the install adds that directory to your shell profile, so the bare name works in a new shell: reload yours in place on macOS, Linux and WSL2, or open a new PowerShell window on Windows.
macOS, Linux and WSL2
npx -y @kinlab/kin setup exec "$SHELL" -l kin --versionWindows PowerShell
npx -y @kinlab/kin setupWhen setup finishes, open a new PowerShell window and run kin --version there.
Prints the version you just installed, for example kin 0.8.1.
- 02
Prepare a small disposable repository
Use a repository you do not mind experimenting on. Either version refuses to touch an existing kin-quickstart directory, then creates the same two small files so a mistake costs nothing and you can check every answer below against source you can see right here.
Create the disposable example: commands and source
macOS, Linux and WSL2
if [ -e kin-quickstart ]; then printf '%s\n' 'Refusing to overwrite existing kin-quickstart directory.' >&2 false else mkdir kin-quickstart && cd kin-quickstart && mkdir src && git init -q -b main && cat > src/greeting.js <<'EOF' && function formatGreeting(name) { return `Hello, ${name}!`; } module.exports = { formatGreeting }; EOF cat > src/cli.js <<'EOF' && const { formatGreeting } = require('./greeting'); function main(name) { console.log(formatGreeting(name)); } main(process.argv[2] || 'world'); EOF git add -A && git commit -q -s -m "Add greeting helper and CLI entry point" && kin init . fiWindows PowerShell
if (Test-Path kin-quickstart) { Write-Error 'Refusing to overwrite existing kin-quickstart directory.' } else { New-Item -ItemType Directory -Path kin-quickstart | Out-Null Set-Location kin-quickstart New-Item -ItemType Directory -Path src | Out-Null git init -q -b main Set-Content -Path src/greeting.js -Value @' function formatGreeting(name) { return `Hello, ${name}!`; } module.exports = { formatGreeting }; '@ Set-Content -Path src/cli.js -Value @' const { formatGreeting } = require('./greeting'); function main(name) { console.log(formatGreeting(name)); } main(process.argv[2] || 'world'); '@ git add -A git commit -q -s -m "Add greeting helper and CLI entry point" kin init . }kin init reports what it found (4 entities and 5 relations across the 2 files here) and starts a daemon for this repository.
- 03
Check graph readiness
Do this before you trust an answer, not after.
kin graph statusReports entity and relation counts, embedding coverage, and parse coverage. On a repository this small you may see a note such as "all entities are Source, role classification may not be working". That means a heuristic had too little code to calibrate against, not that anything failed. What matters here: embeddings report fully indexed, and both files show up under parse coverage.
- 04
Get one answer, and check it against the source
Ask what calls the helper function, then open the two files above and read the same thing yourself.
kin refs formatGreeting --kind callsCompare with the saved output
References to 'formatGreeting' -> formatGreeting (Function) @ src/greeting.js referenced by 1 entities: main @ src/cli.js:3 [Calls] (type_resolved) sites 4main in src/cli.js calls formatGreeting in src/greeting.js. Open both files above: that is exactly what they do, so you have checked the answer rather than taken it on faith.
- 05
Connect an agent (MCP)
Kin exposes the same graph to the AI client you already use.
kin setup --intent agentConfigures the MCP entry for every AI client it detects (Claude Code, Cursor, Codex CLI, Gemini CLI, and others) and prints a first prompt to try. Restart the client so it reads the new configuration.
Next
Ask the next question about your own code.
That is the whole path: install, admit a repository, check readiness, get a checked answer, connect an agent. The sidebar picks up from here, grouped by what you are trying to do rather than by how the site is filed. Work with code covers callers and change impact; Connect tools covers the MCP server and the editor extension; Reference and Troubleshoot carry the language, platform and failure detail.