Skip to main content

Crate seshat_scanner

Crate seshat_scanner 

Source
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 .gitignore respect (via ignore crate)
  • 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 .gitignore respect.
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.