app
KiCad - the KiCad Bridge
Public Made by Adomby adom
Reference implementation of the KiCad bridge: multi-instance Python server, forward path via kicad-cli, reverse path via in-process plugin. Most complex of the three bundled bridges.
← Commit history
comparison: native binary, verb count, routing both ways, native gate
1 file changed
+7−4
docs/comparison.md+7−4@@ -6,7 +6,7 @@ A factual audit of every notable AI and MCP automation for KiCad, done 2026-09-1 | Tool | Stars | Last push | Language | How it reaches KiCad | Platforms | |---|---|---|---|---|---|-| [Adom KiCad Bridge](https://wiki.adom.inc/adom/kicad-bridge) (this) | n/a (wiki) | daily | Python, Rust port planned | IPC API, kicad-cli, file edit, background Win32 and UIA window control, Adom Bridge callbacks | Windows, partial macOS |+| [Adom KiCad Bridge](https://wiki.adom.inc/adom/kicad-bridge) (this) | n/a (wiki) | daily | Rust, one native binary (1.0.x, insiders); Python 0.9.x on the public tier until promotion | IPC API, kicad-cli, file edit, background Win32 and UIA window control, Adom Bridge callbacks | Windows; macOS and Linux platform layers ready for their owners | | [KiCAD-MCP-Server](https://github.com/mixelpixx/KiCAD-MCP-Server) | 2,198 | 2026-09-10 | Python and TypeScript | SWIG through KiCad's bundled Python, experimental IPC, kicad-cli, kicad-skip for schematics, a loopback GUI click plugin | Win, mac, Linux | | [Konnect](https://github.com/mixelpixx/Konnect) | 619 | 2026-09-11 | Rust | IPC for PCB, own s-expression engine for schematics, kicad-cli | Windows primary | | [kicad-happy](https://github.com/aklofas/kicad-happy) | 1,184 | 2026-09-01 | Python | File parsing only, read-only, no KiCad needed | all |@@ -41,6 +41,8 @@ Also audited, not in the matrix because they are too small or too different: [ki | Feature | Adom | MX | KN | HP | LA | SD | PRO | AIA | KP | POA | |---|---|---|---|---|---|---|---|---|---|---|+| One native binary, no runtime to provision, installed and updated by a sha-verified manifest | Y (1.0.x) | N | Y | N | N | N | N | N | N | N |+| 97 verbs behind one describe, each with a hint, an example, related verbs and pitfalls the AI reads | Y | Y (233) | Y (217) | N | P | Y (387) | P | P | Y (109) | N | | Install KiCad itself, silently, then verify | Y | N | N | N | N | N | N | N | N | N | | Launch KiCad, open a project or board in the GUI | Y | Y | P | N | Y | N | P | Y | N | N | | Open the symbol, footprint, schematic, PCB editors and 3D viewer on a named part, in the background | Y | N | N | N | N | N | N | N | N | N |@@ -84,13 +86,14 @@ Also audited, not in the matrix because they are too small or too different: [ki ## Where we lead, with the evidence -- **Window control that stays in the background.** No other tool opens KiCad's editors on a named part or captures the real window. The mechanism is a native menu walk with WM_COMMAND, UI Automation invoke, and PostMessage to one hwnd, all documented in the code with the measurements that led to them. The release gate on 2026-09-08 ran every window verb on two machines with the foreground-steal check on: 72 passed, 1 failed, 15 skipped on ConfRoomROG and 70, 3, 15 on winvm, and the six-beat narrated tour recorded on both.+- **Window control that stays in the background.** No other tool opens KiCad's editors on a named part or captures the real window. The mechanism is a native menu walk with WM_COMMAND, UI Automation invoke, and PostMessage to one hwnd, all documented in the code with the measurements that led to them. The release gate on 2026-09-08 ran every window verb on two machines with the foreground-steal check on: 72 passed, 1 failed, 15 skipped on ConfRoomROG and 70, 3, 15 on winvm, and the six-beat narrated tour recorded on both. The native 1.0.0 binary passed the same gate on 2026-09-11 (71 pass, 4 fail, 15 skip; the fails were another session's Chrome windows and a cleanup-while-open, not verbs) with `kicad_demo` passing, and the etiquette loop's own event log shows every self-raise bounced exactly once. - **A frontier model has already used it on a real board, on camera.** The [adom/codex page](https://wiki.adom.inc/adom/codex) carries four real KiCad window recordings of GPT-6 Astra routing through this bridge from a Hydrogen container: six nets, a 24-net crossbar, a first pass on the public Teazzers Solenoid Driver RP2040, and the [narrated full rerun](https://wiki.adom.inc/api/pages/adom/codex/files/videos/04-public-adom-solenoid-full-routing-narrated.mp4) that strips 484 segments and 58 vias from a copy and rebuilds it to 1,463 segments and 33 vias with zero unconnected items under native DRC. The [method log](https://wiki.adom.inc/adom/codex/files/docs/ASTRA-KICAD.md) names every bridge and ab verb used. No other tool on this page has a comparable public record. - **Dialogs.** The bridge seeds KiCad's settings so the first-run wizard never appears, sweeps transient dialogs after every verb, refuses to click Cancel on progress dialogs, and attaches a screenshot of anything it dismissed. The nearest competitor has one environment variable that auto-confirms a reload prompt. - **Install to uninstall.** `kicad_upgrade` performs the silent official KiCad install and verifies with kicad-cli; `kicad_uninstall` removes only our artifacts. ab polls the manifest every four hours and insiders get builds before the public tier. The audit found one competitor with a supported uninstall and none with an update path. - **Library and PCM.** Symbol, footprint and 3D install with lib-table registration, an Adom library that heals itself, in-place rescan verified in the editor, and PCM installs that reproduce KiCad's own on-disk layout. Three competitors author parts; none touch PCM. - **Cloud to desktop.** Every verb is addressable by machine name from a container, with the caller's thread and reason stamped on the request by Adom Bridge. Every competitor assumes the agent runs on the same desktop as KiCad or fully headless.-- **Volume of releases.** 290 insiders builds since 0.9.60, each staged on a test box and verified before the manifest moved, with the bug history public on the [issue tracker](https://wiki.adom.inc/adom/kicad-bridge/issues).+- **Routing, both ways.** The AI routes through `kicad_route_net` as native undo steps with a DRC check per step; Freerouting is offered every time and installed only when the user says yes (88 MB, its own runtime, nothing on the PC), lands its copper the same way, and uninstalls on its own. Verified 2026-09-12: the six-net fixture routed by Freerouting in 3 s through the live editor, six undo steps, zero errors, zero unconnected.+- **Volume of releases.** 290 Python insiders builds since 0.9.60 and the native 1.0.x line since 2026-09-12, each staged on a test box and verified before the manifest moved, with the bug history public on the [issue tracker](https://wiki.adom.inc/adom/kicad-bridge/issues). ## Where others lead today, and what closes each gap @@ -133,4 +136,4 @@ Every other tool on this page is a KiCad tool. This bridge is one part of an env ## Method -Twelve repositories were checked on 2026-09-11: README, install docs, tool lists, release assets, open issues. Stars, last push and license came from the GitHub API that day. A feature is marked Y only when the tool's own documentation names it. Marks for this bridge come from the verb catalog in `server.py` and the 2026-09-08 gate reports. Anyone who finds a mark wrong can file it on the [issue tracker](https://wiki.adom.inc/adom/kicad-bridge/issues) and it will be corrected.+Twelve repositories were checked on 2026-09-11: README, install docs, tool lists, release assets, open issues. Stars, last push and license came from the GitHub API that day. A feature is marked Y only when the tool's own documentation names it. Marks for this bridge come from the native catalog (`kicad_describe`, 97 verbs in 1.0.1) and the gate reports of 2026-09-08 (Python) and 2026-09-11 (native). Anyone who finds a mark wrong can file it on the [issue tracker](https://wiki.adom.inc/adom/kicad-bridge/issues) and it will be corrected.