Expand description
§Seshat Scanner
Parses source code files into intermediate representation (IR) using
Tree-sitter grammars. Produces seshat_core::ProjectFile structs
consumed by convention detectors.
Responsibilities:
- File discovery with
.gitignorerespect (viaignorecrate) - Tree-sitter AST parsing for Rust, TypeScript, JavaScript, Python
- Dependency manifest analysis (
Cargo.toml,package.json,pyproject.toml) - Documentation ingestion (Markdown, JSON schema, OpenAPI)
- Content hashing (SHA256) for incremental change detection
Re-exports§
pub use discovery::DiscoveredFile;pub use discovery::DiscoveryResult;pub use discovery::detect_submodule_paths;pub use discovery::discover_files;pub use documentation::DocType;pub use documentation::DocumentationResult;pub use documentation::parse_documentation;pub use error::ScanError;pub use git_dates::collect_git_file_dates;pub use git_utils::FreshnessCheck;pub use git_utils::check_branch_freshness;pub use git_utils::get_head_commit;pub use git_utils::record_branch_scan_complete;pub use manifest::DeclaredDependency;pub use manifest::ManifestAnalysis;pub use manifest::ManifestType;pub use manifest::analyze_manifests;pub use manifest::categorize_dependency;pub use manifest::parse_manifest;pub use module_structure::ModuleGraph;pub use module_structure::ModuleInfo;pub use module_structure::build_module_graph;pub use orchestrator::IncrementalStats;pub use orchestrator::ScanProgress;pub use orchestrator::ScanResult;pub use orchestrator::scan_project;pub use orchestrator::scan_project_with_progress;pub use parser::Parser;pub use parser::content_hash;pub use parser::parse_file;pub use parser::read_and_parse_file;pub use registry::CACHE_TTL_SECS;pub use registry::PackageMetadata;pub use registry::PackageRegistryClient;pub use registry::Registry;pub use registry::RegistryError;pub use registry::crates_io::CratesIoClient;pub use registry::npm::NpmClient;pub use registry::pypi::PyPIClient;pub use registry::registry_mapping::ClassificationConfidence;pub use registry::registry_mapping::ClassificationResult;pub use registry::registry_mapping::classify_with_registry;pub use registry::registry_mapping::infer_domain_from_metadata;pub use registry::registry_mapping::map_crates_io_category;pub use registry::registry_mapping::map_keyword;pub use registry::registry_mapping::map_pypi_classifier;
Modules§
- discovery
- File discovery with
.gitignorerespect. - documentation
- Documentation ingestion for the knowledge graph.
- error
- git_
dates - Git file date collection via
gix. - git_
utils - Git utility functions for submodule operations and project freshness.
- manifest
- Dependency manifest analysis.
- module_
structure - Module structure detection and dependency graph construction.
- orchestrator
- Scan orchestration — full and incremental project scan pipeline.
- parser
- Parser trait, language dispatch, and content hashing.
- registry
- Package registry metadata types, client trait, and implementations.