Loading...
Loading...
Work with PCB designs in the Zener hardware description language. Use when writing or editing `.zen` files, building schematics, searching for components or Zener packages, reading datasheets with `pcb scan`, or reading/updating KiCad `.kicad_sym` symbol metadata.
npx skill4agent add diodeinc/pcb pcb.zenSpiI2cUartModule("path.zen")pcb doc specpcb doc spec --listpcb doc spec/<section>@stdlib/generics/ResistorCapacitorLedload("@stdlib/interfaces.zen", "Power", "Ground", "Spi", "I2c", ...)pcb scan.pdfhttp(s)pcb scan <input>pcb scan ./TPS54331.pdf
pcb scan https://www.ti.com/lit/gpn/tca9554# scaffolding
pcb new workspace <NAME> --repo <URL> # Create new workspace with git init
pcb new board <NAME> # Add board to existing workspace (boards/<NAME>/)
pcb new package <PATH> # Create package at path (modules, etc.)pcb build [PATH] # Build and validate (default: cwd)
pcb fmt [PATH] # Format .zen files (default: cwd)
pcb bom <FILE> -f json # Generate BOM as JSON with availability data
pcb fork add <URL> # Fork dependency for local dev
pcb fork remove <URL> # Remove forkpcb search -m registry:modules buck -f json
pcb search -m registry:components usb-c -f json
pcb search -m web:components STM32F103C8T6 -f json
pcb new component --component-id <ID> --part-number <MPN> --manufacturer <MFR>pcb search -m registry:modules ... -f jsonpcb search -m registry:components ... -f jsonpcb search -m web:components ... -f jsoncomponent_idpcb new component --component-id ...--part-number--manufacturer| Tool | Use |
|---|---|
| Read structured KiCad symbol metadata ( |
| Strict full-write of symbol metadata. Input becomes the full metadata state (unset fields/properties are removed). Supports |
| RFC 7396 JSON Merge Patch update for metadata. Use for incremental edits (object keys set/replace, |
pcb mcp evalread_kicad_symbol_metadatawrite_kicad_symbol_metadatamerge_kicad_symbol_metadatametadata.primaryReferenceprimary.referenceValueprimary.valueFootprintprimary.footprintDatasheetprimary.datasheetDescriptionprimary.descriptionki_keywordsprimary.keywords.kicad_symki_fp_filtersprimary.footprint_filters.kicad_symcustom_propertieski_descriptionprimary.descriptionDescriptionDescriptionmetadata_patch: {custom_properties: {ki_keywords: "powerline transceiver CAN"}}metadata_patch: {primary: {keywords: ["powerline", "transceiver", "CAN"]}}pcb doc spec # Full language specification
pcb doc spec --list # List all spec sections
pcb doc spec/<section> # Read specific section (e.g., spec/io, spec/module)
pcb doc packages # Dependency management docs
pcb doc docs_bringup # Guide on writing bringup docs in markdown
pcb doc docs_changelog # Guide on writing a changelog after every changepcb doc --package @stdlib # Standard library docs
pcb doc --package @stdlib --list # List files as tree
pcb doc --package @stdlib/generics # Filter to subdirectory
pcb doc --package github.com/diodeinc/registry/module/<xyz>@0.1.0 # Remote packageNo house cap found for ...No house resistor found for ...mpnmanufacturerpcb bom <FILE> -f jsonavailability_tier"plenty""limited""insufficient"offers