Expand description
§Cargo Dokita
A comprehensive Rust project analysis tool that performs static analysis on Rust projects to identify potential issues, security vulnerabilities, and code quality problems.
§Features
- Dependency Analysis: Check for outdated dependencies and known security vulnerabilities
- Code Quality Checks: Analyze code patterns and project structure
- Manifest Validation: Validate Cargo.toml metadata and configuration
- Configurable Rules: Support for custom configuration through
.dokita.tomlfiles - Multiple Output Formats: Support for both human-readable and JSON output
§Usage
The main entry point for analysis is the analyze_project function:
use cargo_dokita::analyze_project;
// Analyze a Rust project with default text output
match analyze_project("./my-rust-project", "text") {
Ok(()) => println!("Analysis completed successfully"),
Err(e) => eprintln!("Analysis failed: {:?}", e),
}§Modules
manifest- Cargo.toml parsing and validationdiagnostics- Core diagnostic types and severity levelsdependency_analysis- Dependency checking and vulnerability scanningcrates_io_api- Integration with crates.io APIcode_checks- Static code analysis and pattern detectionconfig- Configuration file handling and settings
Modules§
- code_
checks - Static code analysis and project structure validation. Code quality analysis and project structure checks for Rust projects.
- config
- Configuration file handling and project settings management.
- crates_
io_ api - Integration with the crates.io API for package information retrieval. Crates.io API client for fetching crate version information.
- dependency_
analysis - Dependency analysis including vulnerability scanning and outdated package detection. Dependency analysis and security auditing for Rust projects.
- diagnostics
- Core diagnostic types, severity levels, and finding structures.
- manifest
- Cargo.toml manifest parsing and validation functionality. Manifest parsing and metadata checks for Cargo.toml files.
Enums§
- MyError
- Error types that can occur during project analysis.
Functions§
- analyze_
project - Analyzes a Rust project for potential issues and vulnerabilities.
- analyze_
project_ for_ test - Test-friendly version of
analyze_projectthat returns findings instead of callingprocess::exit.