pcb is a command-line tool for circuit board projects written in Zener.
$ npx -y skills add diodeinc/pcb --agent claude-code
pcb is a command-line tool for circuit board projects written in Zener.
Zener is a Starlark-based language for describing PCB schematics; pcb builds
those designs, manages dependencies, and generates KiCad layout files.
Documentation | Language reference
Install the pcb launcher on macOS, Linux, or WSL2:
curl -fsSL https://raw.githubusercontent.com/diodeinc/pcb/main/install.sh | bash
For native Windows, run this command in PowerShell:
powershell -ExecutionPolicy Bypass -c "irm https://raw.githubusercontent.com/diodeinc/pcb/main/install.ps1 | iex"
The launcher downloads the toolchain selected by each project. KiCad 10.x is required for layouts, but not for building Zener designs. Native Windows support is experimental; use WSL2 if needed.
Create blinky.zen:
# ```pcb
# [workspace]
# pcb-version = "0.4"
# ```
Resistor = Module("@stdlib/generics/Resistor.zen")
Led = Module("@stdlib/generics/Led.zen")
VCC = Power()
GND = Ground()
LED_ANODE = Net()
Resistor(name="R1", value="1kohm", package="0402", P1=VCC, P2=LED_ANODE)
Led(name="D1", package="0402", color="red", A=LED_ANODE, K=GND)
Board(name="blinky", layers=4, layout_path="layout/blinky")
Build the design and generate a KiCad layout:
pcb build blinky.zen
pcb layout blinky.zen
See Getting Started for board setup,
toolchains, and CI authentication, and Packages
for repository structure and dependencies. Run pcb help for commands.
git clone https://github.com/diodeinc/pcb.git
cd pcb
./install.sh --local
Requires Rust. See AGENTS.md for test commands and repository conventions.
Diode-authored code and docs are licensed under the MIT License except where otherwise noted. See LICENSE and THIRD_PARTY_NOTICES.md.
pcb is a Claude Code plugin with 5 hand-picked skills, indexed on Flowy in the Development category. Install it with the command on its page. It includes importing-kicad-projects, librarian, registry-search. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it