component-search
Component Search
Find and add components and reusable subcircuits to a Zener project. Use this workflow any time you need a part or subcircuit that isn't already in the workspace or covered by stdlib generics.
Hard Stop Before Manual Creation
If pcb search and pcb new component don't produce a usable part, don't fall back to manual component/symbol/footprint creation. Report what failed, offer manual creation as an option, and get explicit user confirmation. In interactive mode, prefer ask.
Search Priority
Always search in this order. Move down only when the higher tier doesn't have what fits.
pcb search -m registry:modules <query> -f json— Reusable subcircuits and composed modules. Best option when the design work is already done.pcb search -m registry:components <query> -f json— Component packages in the registry. These may range from generated signatures to richer packages with integrated application circuitry.pcb search -m web:components <MPN> -f json— Diode's web component database (CSE, LCSC sources). Fallback: returns acomponent_idthat must be imported withpcb new component.
If the user asks for a specific MPN, still try registry first before falling back to web.
Search Tips
More from diodeinc/pcb
datasheet-reader
Read datasheets and technical PDF documents with `pcb scan`. Use when the user gives a local PDF path or an `http(s)` datasheet/document URL, when a task requires reading, summarizing, extracting information from, or answering questions about a datasheet or technical PDF, or when a KiCad symbol / `.kicad_sym` provides a `Datasheet` property to resolve. Run `pcb scan <input>` in bash, treat stdout as the generated `.md` path, then read that markdown file.
868zener-language
Canonical Zener HDL guidance. Use for any non-trivial `.zen` work or whenever syntax, `Module()`, `io()`, `config()`, imports, `pcb.toml`, stdlib APIs, package APIs, source lookup, generics, DNP patterns, or validation are uncertain.
833reference-design
Grow a component package into a high-quality, sourceable reusable design in Zener. Use when translating a datasheet, application note, or eval design into circuitry that should live with the component package itself — including checking for existing reusable packages first, extracting evidence, choosing sourceable passives, documenting the design in the `.zen` docstring, and validating with `pcb build`.
799idiomatic-zener
Style rules and idioms for writing high-quality Zener HDL code. Use when writing, reviewing, or refactoring `.zen` files — modules, reference designs, or board files. Covers DNP patterns, typed configs, voltage checks, component naming, computation style, and common gotchas.
724spice-sim
Adds an ngspice-backed simulation testbench to a Zener `.zen` design. Use when the user asks to simulate a circuit, validate behavior in SPICE, or wire a `spice_model=SpiceModel(...)` into a leaf component. Covers `pcb sim`, `Simulation` property, and ngspice `.control` blocks with `tran`/`PULSE`/`PWL` sources and SVG `hardcopy` output.
346git-hunk
Non-interactive hunk and line-range staging with the `git-hunk` CLI. Use when a user wants atomic commits, selective staging, partial hunk staging, or an agent-safe replacement for `git add -p` or `git commit -p`, especially when `git-hunk` is available in the current repo or on `PATH`.
106