Files
archlens/Cargo.toml
Gabriel Kaszewski fdd85011a4
Some checks failed
CI / Check / Test (push) Failing after 1m33s
Architecture Docs / Generate diagrams (push) Successful in 3m21s
feat: implement all P1/P2/P3/P4 improvements from issue backlog
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>)
2026-06-17 09:51:45 +02:00

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"