Thanks to visit codestin.com
Credit goes to lib.rs

372 releases (72 breaking)

Uses new Rust 2024

new 0.107.0 May 21, 2026
0.105.13 May 14, 2026
0.96.9 Mar 31, 2026
0.55.1 Dec 29, 2025
0.47.6 Nov 30, 2025

#678 in Parser implementations

Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App

137 downloads per month
Used in 3 crates (via vtcode-core)

MIT license

375KB
9K SLoC

vtcode-indexer

Workspace-friendly code indexer extracted from VT Code.

vtcode-indexer offers a lightweight alternative to heavyweight search/indexing stacks. It recursively walks a workspace, computes per-file hashes, and stores metadata in Markdown-friendly summaries so changes remain easy to audit in git.

Features

  • Recursive .gitignore-aware workspace walking via the ignore crate
  • Per-file content hashing for change detection
  • Markdown-backed snapshot persistence (index.md)
  • Pluggable storage and traversal filter traits

Public entrypoints

  • SimpleIndexer — main indexer; walk, hash, query, and persist file metadata
  • SimpleIndexerConfig — builder for workspace root, index directory, and exclusion rules
  • FileIndex — per-file metadata record (path, hash, size, timestamps)
  • IndexStorage trait — persistence backend (default: MarkdownIndexStorage)
  • TraversalFilter trait — directory/file filtering hook (default: ConfigTraversalFilter)

Usage

use vtcode_indexer::SimpleIndexer;

let mut indexer = SimpleIndexer::new("/path/to/workspace".into());
indexer.init()?;
indexer.index_directory(std::path::Path::new("/path/to/workspace"))?;

let rust_files = indexer.find_files(r"\.rs$")?;
println!("Found {} Rust files", rust_files.len());

API reference

See docs.rs/vtcode-indexer.

Dependencies

~19–33MB
~516K SLoC