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