Code intelligence
for AI agents

LSP-backed symbol search, semantic editing, and diagnostics in a single Rust binary. No line numbers. No file parsing. The LSP is the source of truth.

krait
$ krait find symbol PaymentService
class PaymentService src/payments/service.ts:24
$ krait hover PaymentService
class PaymentService extends BaseService
Handles payment processing and refunds.
src/payments/service.ts:24
$ krait check src/payments/service.ts
error src/payments/service.ts:45:12 TS2339
Property 'amount' does not exist
$ cat fix.ts | krait edit replace processPayment
replaced processPayment src/payments/service.ts:67

Built for AI agents

S

Semantic Editing

Edit by symbol name, not line number. The LSP defines boundaries — no line number drift, no file corruption.

Q

Warm Queries in ~20ms

A persistent daemon keeps LSP servers alive between calls. No cold start on every query.

M

Monorepo-Native

Tested on 76-workspace TypeScript monorepos. One LSP process per language, dynamically attaches folders.

A

Agent-First Output

Compact, token-efficient output designed for LLM context windows. Get the signal, not the noise.

How it works

AI Agent  (krait find symbol Foo)
    |
    | Unix socket
    v
krait daemon (per project)
  +-- SQLite index + file watcher
  +-- LSP Multiplexer (one server/language)
         |
         +-- vtsls (TypeScript)
         +-- gopls (Go)
         +-- rust-analyzer (Rust)
      
1
CLI — thin proxy, sends requests over a Unix domain socket
2
Daemon — one process per project root, manages LSP lifecycles
3
LSP Multiplexer — one language server per language, dynamically attaches workspace folders
4
SQLite index — warm query cache, invalidated by file watcher

Performance

Warm query latency — daemon running, LSP fully initialized

Project Stack Workspaces find symbol list symbols hover check
medusa TypeScript 76 ~59ms ~40ms ~41ms ~37ms
meet TypeScript 6 ~40ms ~33ms ~46ms ~40ms
WeKnora Go 3 ~32ms ~44ms ~61ms ~50ms

Language support

TypeScript
vtsls
JavaScript
vtsls
Go
gopls
Rust
rust-analyzer
C/C++
clangd

v0.1 ships with these 5 languages. More coming in future releases.

Install

Homebrew
brew tap Codestz/krait && brew install krait
From crates.io
cargo install krait-cli