Expand description
§adk-doc-audit
Documentation audit system for ADK-Rust that validates documentation against actual crate implementations.
This crate provides comprehensive documentation validation including:
- API reference validation against actual implementations
- Code example compilation testing
- Version consistency checking
- Cross-reference validation
- Automated fix suggestions
- Comprehensive audit reporting
§Features
- API Validation: Ensures all API references match current implementations
- Code Compilation: Validates that documentation examples compile
- Version Consistency: Checks version references are current
- Link Validation: Validates internal documentation links
- Automated Suggestions: Provides fix suggestions for issues
- Multiple Formats: Supports console, JSON, and Markdown output
- CI/CD Integration: Designed for build pipeline integration
- Incremental Audits: Supports auditing only changed files
§Quick Start
ⓘ
use adk_doc_audit::{AuditConfig, AuditOrchestrator};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let config = AuditConfig::builder()
.workspace_path(".")
.docs_path("docs/official_docs")
.build()?;
let orchestrator = AuditOrchestrator::new(config).await?;
let report = orchestrator.run_full_audit().await?;
println!("Audit complete: {} issues found", report.summary.total_issues);
Ok(())
}§CLI Usage
The crate also provides a command-line interface:
# Run full audit
adk-doc-audit audit --workspace . --docs docs/official_docs
# Run incremental audit
adk-doc-audit incremental --workspace . --docs docs/official_docs --changed file1.md file2.md
# Validate single file
adk-doc-audit validate docs/official_docs/getting-started.mdRe-exports§
pub use analyzer::CodeAnalyzer;pub use analyzer::CrateInfo;pub use analyzer::CrateRegistry;pub use analyzer::Dependency;pub use analyzer::PublicApi;pub use analyzer::ValidationResult;pub use cli::AuditCli;pub use cli::AuditCommand;pub use cli::CliOutputFormat;pub use cli::CliSeverity;pub use config::AuditConfig;pub use config::AuditConfigBuilder;pub use config::IssueSeverity;pub use config::OutputFormat;pub use error::AuditError;pub use error::Result;pub use orchestrator::AuditOrchestrator;pub use parser::ApiItemType;pub use parser::ApiReference;pub use parser::CodeExample;pub use parser::DocumentationParser;pub use parser::FeatureMention;pub use parser::InternalLink;pub use parser::ParsedDocument;pub use parser::VersionReference;pub use parser::VersionType;pub use reporter::AuditIssue;pub use reporter::AuditReport;pub use reporter::AuditReportConfig;pub use reporter::AuditSummary;pub use reporter::FileAuditResult;pub use reporter::IssueCategory;pub use reporter::ProblematicFile;pub use reporter::Recommendation;pub use reporter::RecommendationType;pub use reporter::ReportGenerator;pub use suggestion::Suggestion;pub use suggestion::SuggestionConfig;pub use suggestion::SuggestionEngine;pub use suggestion::SuggestionType;pub use validator::AsyncValidationConfig;pub use validator::CompilationError;pub use validator::ErrorType;pub use validator::ExampleValidator;pub use validator::ValidationMetadata;pub use validator::ValidationResult as ExampleValidationResult;pub use version::DependencySpec;pub use version::ValidationSeverity;pub use version::VersionTolerance;pub use version::VersionValidationConfig;pub use version::VersionValidationResult;pub use version::VersionValidator;pub use version::WorkspaceVersionInfo;
Modules§
- analyzer
- Code analyzer for extracting API information from Rust codebase.
- cli
- config
- error
- orchestrator
- Audit orchestrator that coordinates all validation components.
- parser
- Documentation parser for extracting and analyzing markdown content.
- reporter
- Report generation functionality for documentation audits.
- suggestion
- Automated fix suggestion engine for documentation audit issues.
- validator
- Example validator for testing code compilation and async patterns.
- version
- Version consistency validation for documentation audit.
Constants§
- CRATE_
NAME - Name of the crate.
- VERSION
- Version information for the crate.