ripmap/lib.rs
1//! ripmap - Ultra-fast codebase cartography
2//!
3//! A Rust rewrite of grepmap, targeting 1000x faster performance.
4//! Uses tree-sitter for parsing, PageRank for importance ranking,
5//! and rich terminal rendering for output.
6//!
7//! # Architecture
8//!
9//! ```text
10//! File Discovery → Tag Extraction → Graph Building → PageRank → Boosts → Rendering
11//! ↓ ↓ ↓ ↓ ↓ ↓
12//! ignore tree-sitter petgraph iterative contextual ANSI
13//! crate + .scm DiGraph power signals colors
14//! ```
15//!
16//! # Performance Strategies
17//!
18//! - Parallel file parsing via rayon
19//! - Memory-mapped I/O for large files
20//! - Arena allocators for tag batches
21//! - Lock-free graph building with dashmap
22//! - String interning for symbol names
23//! - Persistent cache with redb
24
25pub mod cache;
26pub mod callgraph;
27pub mod config;
28pub mod discovery;
29pub mod extraction;
30pub mod mcp;
31pub mod ranking;
32pub mod rendering;
33pub mod training;
34pub mod training_outer;
35pub mod types;
36
37// Re-export core types
38pub use types::{
39 DetailLevel, FieldInfo, FilePhase, Intent, RankedTag, RankingConfig, SignatureInfo, SymbolId,
40 Tag, TagKind,
41};
42
43// Re-export call graph types
44pub use callgraph::{
45 CallEdge, CallGraph, CallResolver, Candidate, FunctionId, ImportStrategy, NameMatchStrategy,
46 ResolutionContext, ResolutionStats, ResolutionStrategy, ResolverBuilder, ResolverConfig,
47 SameFileStrategy, TypeHintStrategy,
48};