KiCad - the KiCad Bridge
Public Made by Adomby adom
Drive your own KiCad from an AI, in the background: open every editor, read the whole board as data (the EDA Bridge Standard board model), stack-up, part heights, netlists, place, route, pour, DRC and exports.
SHIPPED: kicad_show_* surface family (Fusion fusion_show_* parity) — one named verb per surface
Parity with the Fusion bridge's fusion_show_* family, and a direct answer to the "I keep hand-assembling KiCad workflows and getting it subtly wrong" problem (#24): the bridge now owns one clean, named verb per KiCad surface, so ab/a web demo/an AI never assembles file-types + editor combos itself.
Shipped in runtime 0.9.92-0.9.94 (live-verified on AdomLapper unless noted):
| Verb | Surface | Args | Status |
|---|---|---|---|
kicad_show_symbol |
schematic SYMBOL in Symbol Editor | symbolName (+libraryName) |
✅ verified (Device:R, Device:C cold) |
kicad_show_footprint |
FOOTPRINT in Footprint Editor | footprintName (+library) |
✅ verified (Resistor_SMD:R_0603 cold) |
kicad_show_schematic |
SCHEMATIC (2D) | filePath (.kicad_sch) |
✅ verified |
kicad_show_2d_board |
2D BOARD in PCB Editor | filePath (.kicad_pcb) |
✅ verified |
kicad_show_library |
browse a LIBRARY (no part loaded) | libraryName (+kind:"footprint") |
✅ verified (Device) |
kicad_show_3d_chip |
single part in 3D (footprint 3D view) | footprintName+library |
⚠️ loads footprint fine; the 3D-VIEWER-open step is plugin-dependent (see below) |
kicad_show_3d_board |
whole board in 3D | filePath (.kicad_pcb) |
⚠️ opens+waits for the board fine; 3D-viewer-open step same dependency |
They're thin, arg-normalizing wrappers over the existing open_* handlers — same background-first behavior, same title-verified loads — but with an obvious name + obvious argument. Each returns a surface field. All in kicad_describe, bridge.json, and the daily verb suite.
KiCad-specific notes vs Fusion (deviceset → these):
- KiCad's "deviceset" analogue is
symbolName/footprintName+ optionallibraryName. Documents (schematic/2D board) takefilePath. - Library IS a first-class KiCad concept (sym-lib-table / fp-lib-table registrations) —
show_libraryand library-only mode on show_symbol/show_footprint filter+select the library in the tree without loading a part (libraryShownin the response). show_3d_chip= the footprint's 3D view (KiCad's per-footprint 3D viewer), the closest analogue to Fusion's Create3DPackage/Package3DEnvironment.
Honest gap (tracked): the two 3D-VIEWER surfaces open the viewer via a menu command that still depends on the in-process plugin, which binds minutes-late in pcbnew (the #21 late-bind, which I closed for the lib-tree editors via a plugin-free win32 tier but did NOT yet port to the 3D-viewer-open path). So show_3d_chip/show_3d_board reliably get you to the loaded footprint / open board, but the final "pop the 3D window" step is currently flaky from cold. Next: give open_3d_viewer the same plugin-free fallback (UIA invoke of the "3D Viewer" toolbar control, which needs no focus) so all seven are solid. Filing that as its own issue.