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.
kicad_install_library_bundle planOnly: the pre-flight plan contract ab needs to render progress and evidence slots
Designed on #63 for 0.9.262 and never built, on either the Python or the native side. Filing it so it can be scheduled on its own rather than holding an announcement thread open.
The ask (Colby's shape, kept as agreed). kicad_install_library_bundle {zipPath, planOnly: true}, with the zip already staged, unpacks the listing only (no install, no lib-table writes) and returns:
plan: {
steps: [{id, label, etaSec}],
totalEtaSec,
expectedEvidence: [{part, slots}]
}
where slots per part reflect what the bundle actually carries: symbol always, footprint when the .pretty has one, 3d when a model matches. The real run then reports against the SAME step ids, so ab can pre-lay-out its progress bar and evidence slots without knowing any KiCad internals.
The honesty note that came with it, which stands. A KiCad install produces per-part RESULTS but only ONE image, the single background Symbol Editor frame. So expectedEvidence declares per-part result slots and one final library frame; it must never promise per-part images this lane does not take.
Demarcation, unchanged: ab defines and renders the generic contract, the bridge owns the import and decides what evidence it produces.
Reference: adom/kicad-bridge#63, John's comment of 2026-08-28 and Colby's reply the same day.