Skip to main content

Module quality

Module quality 

Source
Expand description

Quality validation framework for generated code

This module provides language-specific code quality validation, including syntax checking, type checking, and linting for all supported target languages (Python, TypeScript, Rust, Ruby, PHP).

§Overview

The QualityValidator struct orchestrates validation across multiple quality gates:

  • Syntax validation: Ensures code parses correctly
  • Type validation: Verifies type correctness where applicable
  • Lint validation: Enforces coding standards and best practices

§Language Support

Each language uses appropriate native tools:

  • Python: python3 -m py_compile, mypy --strict, ruff check
  • TypeScript: tsc --noEmit, biome check
  • Ruby: ruby -c, steep check
  • PHP: php -l, phpstan --level=max
  • Rust: cargo check, cargo clippy -- -D warnings

§Example

use spikard_cli::codegen::{TargetLanguage, quality::QualityValidator};

let validator = QualityValidator::new(TargetLanguage::Python);
let report = validator.validate_all("print('hello')")?;

if !report.is_valid() {
    eprintln!("Validation failed: {:?}", report.errors);
}

Re-exports§

pub use validator::QualityError;
pub use validator::QualityValidator;
pub use validator::ValidationReport;

Modules§

validator
Quality validation implementation for generated code