Skip to main content

Crate repolens

Crate repolens 

Source
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 settings
  • rules - Audit rules engine and finding categories
  • scanner - File system and git repository scanning
  • actions - Action planning and execution for remediation
  • providers - External service integrations (GitHub API)
  • cache - Audit results caching for performance
  • compare - Report comparison and diff generation
  • hooks - Git hooks management
  • error - 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:

CategoryDescription
secretsDetect exposed secrets and credentials
filesCheck for required files (README, LICENSE, etc.)
docsDocumentation quality checks
securitySecurity best practices
workflowsCI/CD and GitHub Actions checks
qualityCode quality standards
dependenciesDependency security and licensing
dockerDocker configuration checks
gitGit 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