Expand description
§RepoLens Library
RepoLens is a comprehensive CLI tool for auditing GitHub repositories against best practices, security standards, and compliance requirements.
This crate provides the core functionality for:
- Scanning repositories for secrets, security issues, and configuration problems
- Checking compliance with open-source or enterprise standards
- Generating detailed audit reports in multiple formats
- Planning and applying remediation actions
§Quick Start
use repolens::{config, scanner::Scanner, rules::engine::RulesEngine};
use std::path::PathBuf;
// Load configuration
let config = config::Config::load_or_default()?;
// Create a scanner for the repository
let scanner = Scanner::new(PathBuf::from("."));
// Create and run the rules engine
let engine = RulesEngine::new(config);
let results = engine.run(&scanner).await?;
// Check results
println!("Found {} issues", results.findings().len());§Architecture
The library is organized into the following modules:
config- Configuration loading, presets, and rule settingsrules- Audit rules engine and finding categoriesscanner- File system and git repository scanningactions- Action planning and execution for remediationproviders- External service integrations (GitHub API)cache- Audit results caching for performancecompare- Report comparison and diff generationhooks- Git hooks managementerror- Error types and handling
§Presets
RepoLens supports three built-in presets:
- opensource - Standard open-source project requirements
- enterprise - Enterprise-grade security and compliance
- strict - Maximum security and documentation requirements
§Rule Categories
The audit engine checks the following categories:
| Category | Description |
|---|---|
secrets | Detect exposed secrets and credentials |
files | Check for required files (README, LICENSE, etc.) |
docs | Documentation quality checks |
security | Security best practices |
workflows | CI/CD and GitHub Actions checks |
quality | Code quality standards |
dependencies | Dependency security and licensing |
docker | Docker configuration checks |
git | Git configuration and history checks |
Re-exports§
pub use error::RepoLensError;pub use cli::exit_codes;
Modules§
- actions
- Actions Module
- cache
- Audit results caching module
- cli
- CLI Module
- compare
- Compare module - Compare two audit reports and generate a diff report
- config
- Configuration Module
- error
- Error Types for RepoLens
- hooks
- Git hooks management module
- providers
- Providers Module
- rules
- Rules Module
- scanner
- Scanner Module
- utils
- Utility Modules