Skip to main content
Developer Tools & Libraries active

Reko

A Rust CLI that extracts every function in a repository, across 15 languages, into one fixed 215-field IR with byte-exact reconstruction and built-in semantic search.

What it is

Reko turns any repository into machine-readable structured data for downstream code intelligence.

Every function and method in 15 languages (Java, Python, C, C++, PHP, JavaScript, JSX, C#, TypeScript, TSX, Go, Rust, Swift, Ruby and Kotlin) is emitted against a fixed 215-field intermediate representation, producing one hierarchical JSONL file of folders → files → methods. The reader is byte-exact: tabs, trailing spaces, line endings and a missing final newline all survive, so reconstructed source is identical to the original.

01

One IR for 15 languages

Language-aware extractors (brace-, indent- and def→end-scoped, string- and comment-aware) with sha256 hashes and line, column and byte locations.

02

Semantic search built in

reko index embeds every function with EmbeddingGemma-300M (ONNX, 768-d) into sqlite-vec, with the model cached once and shared across repositories.

03

Production surface

.gitignore-aware parallel walker (rayon), a pluggable extractor factory, 83 unit tests, and three-OS CI with release binaries.