impactsense-parser 0.1.2

Multi-language static analysis: parse codebases into an in-memory dependency graph for impact analysis
Documentation
[package]
name = "impactsense-parser"
version = "0.1.2"
edition = "2024"
description = "Multi-language static analysis: parse codebases into an in-memory dependency graph for impact analysis"
license = "MIT"
authors = ["sujal.v <sujal.v@redbus.com>"]
readme = "README.md"
keywords = ["static-analysis", "dependency-graph", "tree-sitter", "impact-analysis", "code-intelligence"]
categories = ["development-tools", "parsing"]
exclude = ["impactsense-webhook/**"]

[features]
default = ["neo4j"]
neo4j = []
compressor = []

[[bin]]
name = "impactsense-parser"
path = "src/main.rs"

[[bin]]
name = "impactsense-mcp"
path = "src/bin/impactsense-mcp/main.rs"

[workspace]
members = [".", "impactsense-webhook"]
resolver = "2"

[dependencies]
thiserror = "1.0"
tree-sitter = "0.24.7"

# Core language grammars – extendable for more languages
tree-sitter-java = "0.23.5"
tree-sitter-javascript = "0.23.1"
tree-sitter-typescript = "0.23.2"
tree-sitter-python = "0.23.6"
tree-sitter-rust = "0.23.3"
tree-sitter-go = "0.23.4"
tree-sitter-erlang = "0.15.0"
tree-sitter-c-sharp = "0.23.1"

# Repo scanning and parallelism
walkdir = "2.5"
rayon = "1.10"

# CLI / argument parsing
clap = { version = "4.5", features = ["derive", "env"] }

# Serialization for dumping results
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"

# Neo4j driver and async runtime (for graph persistence)
neo4rs = "0.8"
tokio = { version = "1.40", features = ["rt-multi-thread", "macros", "sync", "time"] }
futures = "0.3"

# MCP server (file watcher + stdio)
notify = "7.0"
notify-debouncer-full = "0.4"
anyhow = "1.0"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }

# RedCompressor HTTP client (production sidecar)
reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls"] }
base64 = "0.22"

[dev-dependencies]
tempfile = "3"