P1 correctness: - filter test files by default (--include-tests to opt in) - per-module diagrams show cross-module dependency arrows - qualified type names (Module::TypeName) fix false edges from duplicate names P2 output richness: - method parameter types and return types in class diagrams (Rust + Python) - Python pyproject.toml project analyzer (--level project for monorepos) P3 unique value: - boundary rules in archlens.toml ([rules] allow/deny, --strict enforcement) P4 nice to have: - dependency weight labels on module arrows (--no-weights to disable) - --watch mode with 500ms debounce - D2 renderer adapter (--format d2) - interactive self-contained HTML viewer (--format html) - git-aware incremental analysis (--since <ref>)
70 lines
1.8 KiB
TOML
70 lines
1.8 KiB
TOML
[workspace]
|
|
resolver = "2"
|
|
members = [
|
|
"crates/domain",
|
|
"crates/application",
|
|
"crates/presentation",
|
|
"crates/adapters/tree-sitter",
|
|
"crates/adapters/walkdir",
|
|
"crates/adapters/mermaid",
|
|
"crates/adapters/ascii",
|
|
"crates/adapters/file-writer",
|
|
"crates/adapters/stdout-writer",
|
|
"crates/adapters/toml-config",
|
|
"crates/adapters/cargo-workspace",
|
|
"crates/adapters/python-project",
|
|
"crates/adapters/d2",
|
|
"crates/adapters/html-viewer",
|
|
]
|
|
|
|
[workspace.dependencies]
|
|
# Internal crates
|
|
archlens-domain = { path = "crates/domain" }
|
|
archlens-application = { path = "crates/application" }
|
|
archlens-tree-sitter = { path = "crates/adapters/tree-sitter" }
|
|
archlens-walkdir = { path = "crates/adapters/walkdir" }
|
|
archlens-mermaid = { path = "crates/adapters/mermaid" }
|
|
archlens-ascii = { path = "crates/adapters/ascii" }
|
|
archlens-file-writer = { path = "crates/adapters/file-writer" }
|
|
archlens-stdout-writer = { path = "crates/adapters/stdout-writer" }
|
|
archlens-toml-config = { path = "crates/adapters/toml-config" }
|
|
archlens-cargo-workspace = { path = "crates/adapters/cargo-workspace" }
|
|
archlens-python-project = { path = "crates/adapters/python-project" }
|
|
archlens-d2 = { path = "crates/adapters/d2" }
|
|
archlens-html = { path = "crates/adapters/html-viewer" }
|
|
serde_json = "1"
|
|
|
|
# Error handling
|
|
thiserror = "2"
|
|
anyhow = "1"
|
|
|
|
# Parsing
|
|
tree-sitter = "0.24"
|
|
tree-sitter-rust = "0.23"
|
|
tree-sitter-python = "0.23"
|
|
tree-sitter-c-sharp = "0.23"
|
|
|
|
# File discovery
|
|
walkdir = "2"
|
|
ignore = "0.4"
|
|
|
|
# Config
|
|
toml = "0.8"
|
|
serde = { version = "1", features = ["derive"] }
|
|
|
|
# CLI
|
|
clap = { version = "4", features = ["derive"] }
|
|
|
|
# Observability
|
|
tracing = "0.1"
|
|
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
|
|
|
# Parallelism
|
|
rayon = "1"
|
|
|
|
# File watching
|
|
notify = { version = "7", features = ["serde"] }
|
|
|
|
# Testing
|
|
tempfile = "3"
|