ArchSentinel (also spelled ArchSentinal in the CLI) is a deterministic, local-only architecture analyzer. It scans a backend codebase, builds a dependency graph, and reports cycles, dead files, and “god files” — without calling any external APIs.
This is the product landing page on this site: ArchSentinel. Source: github.com/sarweshsoman/ArchSentinel.
What it does
- Walks a repo and extracts imports for Rust, JS/TS, Python, and Go
- Builds a dependency graph (petgraph) and finds strongly connected components / cycles
- Flags unused files (with configurable entry points and test/config exclusions)
- Flags oversized files by LOC threshold, with in/out degree
- Emits human-readable output or JSON for tooling
- Optional
.archsentinal.tomlfor skip dirs, layers, and thresholds
The analysis engine is a Rust library. A CLI wraps it; a Tauri desktop app is the later packaging path.
How to run
Needs a Rust toolchain.
git clone https://github.com/sarweshsoman/ArchSentinel.git
cd ArchSentinel
cargo build -p archsentinal-core --release
./target/release/archsentinal scan ./path/to/codebase
./target/release/archsentinal scan ./path/to/codebase --json
If .archsentinal.toml is in the project root, it is merged with defaults. Malformed config falls back to defaults with a warning.