Reforge
A source-tree scanner for maintainability signals, refactoring priorities, and codebase drift.
Reforge collects directory, file, function, type, dependency, and optional git churn metrics before deriving hotspots and findings. It is designed for local audits, CI gates, and evidence-led refactoring work. It is not a quality score, bug detector, or defect probability model.
Quick Start
Reforge requires Rust 1.85 or newer.
cargo build --release
cargo run -- scan .
Generate the same self-contained visual report published as this site’s sample:
cargo run -- scan . --output-file reforge-report.html --progress never
Documentation Map
Use Reforge
- User Guide: install the CLI, run scans, choose output, and troubleshoot common failures.
- Configuration: configure thresholds, exclusions, suppressions, churn, and precedence.
- Report Schema: consume JSON/YAML schema 18 and SARIF 2.1.0.
- HTML Report: build and use the self-contained visual report.
Understand Results
- Metrics Model: interpret priority, confidence, severity, percentiles, and hotspot ranking.
- Detector Reference: review every detector family and its thresholds or heuristics.
- Calibration Samples: inspect the sample set used to sanity-check report volume.
Maintain Reforge
- Architecture: follow the scan pipeline, module boundaries, and extension points.
- Contributing: set up local development and validate changes.
- Release: prepare and package a release.
Supported Languages
Tree-sitter structural and similar-function analysis covers Rust, JavaScript, TypeScript/TSX, Python, Go, Java, C#, Kotlin, PHP, and Ruby. Basic source-tree metrics also include supported C and C++ source extensions.