reinhardt 0.1.1

A focused security scanner for Django applications
Documentation
# Reinhardt - Django Security Scanner

## Build, Lint, Test
- **Build**: `cargo build`
- **Run**: `cargo run -- [args]` (e.g., `cargo run -- .`)
- **Test**: `cargo test`
- **Test Single**: `cargo test <test_name>`
- **Lint**: `cargo clippy`
- **Format**: `cargo fmt`

## Architecture & Structure
- **Language**: Rust (2021 Edition)
- **Binary Name**: `rh`
- **Entry Point**: `src/main.rs` (CLI parsing via `clap`, config loading)
- **Core Logic**: 
  - `src/scanner.rs`: File walker (`ignore::WalkBuilder`), orchestrates rule checking.
  - `src/rules.rs`: Defines security rules and `Finding` struct.
  - `src/config.rs`: Handles configuration loading/persistence (`toml`, `directories`).
  - `src/report.rs`: Formats scan results.

## Code Style & Conventions
- **Formatting**: Standard `rustfmt`.
- **Error Handling**: Use `anyhow::Result` for application-level errors.
- **CLI**: Use `clap` with struct-based derive approach.
- **Output**: `println!` for user output, `eprintln!` for errors/logs. use `colored` crate for terminal colors.
- **Path Handling**: Use `std::path::PathBuf` and `std::path::Path`.
- **Dependencies**: `regex` for pattern matching, `ignore` for file walking, `serde` for config.
- **Testing**: Unit tests in same file or `mod tests`.