[package] license = "Apache-2.0" name = "xai-codebase-graph" version = "0.1.0" edition.workspace = true description = "High-performance code graph generation using tree-sitter queries" [features] default = [] [[bin]] name = "code-graph" path = "src/bin/code_graph.rs" [[bin]] name = "bench_index" path = "src/bin/bench_index.rs" [[bin]] name = "bench_file_listing" path = "src/bin/bench_file_listing.rs" [dependencies] # Path utilities dunce = { workspace = true } xai-grok-paths = { path = "../xai-grok-paths" } # Graph generation petgraph = { workspace = true } serde = { workspace = true, features = ["rc"] } serde_json = { workspace = true, features = ["preserve_order"] } # Parallel processing rayon = { workspace = true } crossbeam = { workspace = true } num_cpus = { workspace = true } # Directory walking with gitignore support ignore = { workspace = true } # Git repository access git2 = { version = "0.20", default-features = false } # Fast allocators for multi-threaded workloads mimalloc = "0.1" # Fast hash for better HashMap performance ahash = { version = "0.8", features = ["serde"] } # Additional hash utilities for StringInterner hashbrown = "0.15" nohash-hasher = "0.2" rustc-hash = { workspace = true } smallvec = { workspace = true } # CLI argument parsing clap = { version = "4", features = ["derive"] } # Async runtime (for oneshot channels, sync feature for blocking_recv) tokio = { workspace = true, features = ["sync"] } # Logging tracing = { workspace = true } # Lazy static initialization once_cell = { workspace = true } # Concurrent hash map for deduplication registries dashmap = { workspace = true } # Parsing, keeping it here to avoid pollution tree-sitter = "0.25.10" tree-sitter-rust = "0.24.0" tree-sitter-typescript = "0.23.2" tree-sitter-python = "0.25.0" tree-sitter-go = "0.25.0" tree-sitter-javascript = "0.25.0" # Unix process checking for lock staleness detection [target.'cfg(unix)'.dependencies] libc = { workspace = true } [dev-dependencies] tempfile = "3" [lints] workspace = true