Skip to main content

Crate designguard

Crate designguard 

Source
Expand description

DesignGuard - KiCad schematic and PCB validation library

This library provides validation rules for KiCad designs, checking for common mistakes like missing decoupling capacitors, incorrect pull-up resistors, and trace width issues.

§Quick Start

use designguard::{DesignGuardCore, ValidationOptions};
use std::path::Path;

let options = ValidationOptions::default();
let result = DesignGuardCore::validate_schematic(
    Path::new("design.kicad_sch"),
    options,
).unwrap();

for issue in &result.issues {
    println!("{:?}: {}", issue.severity, issue.message);
}

§Features

  • Schematic validation: Decoupling caps, pull-ups, power integrity
  • PCB validation: Trace widths, EMI checks, IPC-2221 compliance
  • Datasheet checking: Component-specific validation
  • Optional AI: Ollama/Claude integration (used by GUI/CLI)

Re-exports§

pub use core::DesignGuardError;
pub use core::DesignGuardCore;
pub use core::ValidationOptions;
pub use core::ValidationResult;
pub use core::ValidationStats;
pub use core::discover_kicad_files;
pub use analyzer::rules::Issue;
pub use analyzer::rules::Severity;
pub use analyzer::rules::RulesEngine;
pub use parser::schema::Schematic;
pub use parser::pcb_schema::PcbDesign;
pub use parser::kicad::KicadParser;
pub use parser::pcb::PcbParser;

Modules§

ai
analyzer
compliance
PCB Compliance Module
core
Core validation logic shared by GUI and CLI. No Tauri or app state dependencies.
datasheets
Datasheet-Aware Design Checking System
parser
prelude
Prelude for convenient imports.
ucs
Unified Circuit Schema (UCS) Module

Functions§

parse_pcb
Parse a PCB file (convenience wrapper).
parse_schematic
Parse a schematic file (convenience wrapper).