Skip to main content
← Projects

ArchSentinel

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.toml for 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.