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
1.0.0 native shipped to insiders: plan, comparison and README updated
2 files changed
+2−1
docs/comparison.md+1−1@@ -97,7 +97,7 @@ Also audited, not in the matrix because they are too small or too different: [ki - **Schematic editing.** Konnect, KiCAD-MCP-Server, kicad-mcp-pro and mcp-server-kicad rewrite `.kicad_sch` on disk to place symbols and wires, with the same caveat in every README (close and reopen the schematic editor to see the change) because KiCad 10 has no schematic API. We ship the same file-level verbs in phase 1 of the port plan, validated by kicad-cli ERC after every edit and reloaded in the editor by the bridge, and switch to the KiCad 11 schematic API the day it lands. - **Autorouting.** Four tools wrap Freerouting. The port plan adds `kicad_autoroute` with Freerouting as one engine and the AI as the other, and the verb's hints tell the AI to ask the user which they want. Our recommendation is the AI: the routing verbs land each trace as a native undo step with a DRC check, and GPT-6 Astra in Codex has shown that a frontier model routes a board well this way, with Claude Fable 5.1 close behind and newer models arriving in the coming weeks. Freerouting stays for the user who wants a deterministic pass. - **Headless without KiCad.** kicad-happy runs anywhere with no KiCad and publishes corpus-scale validation (6,845 schematics parsed at 100 percent). We match this three ways, all available today: the shared `service-kicad` container runs DRC, ERC, exports and library lookups for any container with no local install; the `service-kicad` skill installs kicad-cli into your own container; and Adom Bridge lets the GUI live on a second laptop, a conference room box, or a Grok Computer session driven through the Grok bot, with the AI talking to it by name.-- **Zero-install distribution.** kicad-mcp-pro runs from `uvx`; Konnect is one static binary with 7,648 downloads and PCM install. We need Adom Bridge on the desktop, and until the Rust port lands we ship a Python program that ab hosts. The port plan closes the binary half; the ab requirement is the price of everything in the ecosystem section below.+- **Zero-install distribution.** kicad-mcp-pro runs from `uvx`; Konnect is one static binary with 7,648 downloads and PCM install. From 1.0.0 (insiders, 2026-09-12) this bridge is one 4 MB Windows executable with no runtime, installed and updated by Adom Bridge with a sha-verified zip. The ab requirement stays, and it is the price of everything in the ecosystem section below. - **Permission profiles inside the tool.** kicad-mcp-pro ships a read-only default profile and a human-gated release profile. Ours is enforced one layer down by Adom Bridge (risk classes, human-only grants, a reason on every gated call). It is stronger and it is not visible in this bridge's own README, which this page now fixes. ## What nobody else does at all
docs/rust-port-plan.md+1@@ -20,6 +20,7 @@ Written 2026-09-11 from a full audit of the 0.9.350 source, the Adom Bridge (ab) | 2026-09-11 | Gate with the loop running, ConfRoomROG: 73 pass, 2 fail, 15 skip. The two: `kicad_demo` (phase 5, in progress) and one foreground note on `open_board`. The loop's own event log shows exactly what happened there: the new PCB editor frame took the foreground and was bounced once by the hook within milliseconds, its "Load PCB" progress dialog took it and was bounced once, and the frame's load-complete self-raise a moment later was left alone under the "background once, then hands off" rule, which is the Python's rule and the Python's behaviour on this box. Kept as is. | | 2026-09-11 | Phase 5 landed and ran on ConfRoomROG: the six-beat tour on the native bridge, twice, background job with the panel, captions and narration, every beat opened and five of six verified on the second run in 187 s. Three fixes came out of the first run: the ab client no longer skips stop and cleanup calls during its backoff and no longer starts a backoff on a timeout; the tour input tolerates a sub-second foreground flicker before refusing a gesture; a beat whose editor sits on an unpainted canvas gets a zoom-to-fit through the native View menu before it is judged (the footprint beat then painted and animated). The one unverified beat on run two was the board: a Chrome window from another session took the foreground during it and the tour, by rule, raises each beat exactly once. Recording: ab's native recorder drops any 4K take longer than about a minute (stop times out, 0-byte file), reproduced from the CLI with no bridge involved and filed as [adom/adom-bridge#189](https://wiki.adom.inc/adom/adom-bridge/issues/189); short takes finalise. 96 verbs, 199 tests. | | 2026-09-11 | 1.0.0 release candidate built from the exact zip the packager produces (96 verbs, 3.0 MB with the demo audio, no runtime) and gated on ConfRoomROG: 71 pass, 4 fail, 15 skip, `kicad_demo` passing for the first time. The four: three foreground notes whose "before" window was a Chrome window another session was opening and closing on the same box during the run (the two earlier gates today had one and zero such notes), and the runner's own cleanup step, which found two folders held open by KiCad windows still up; the same cleanup ran clean once KiCad was closed. Waiting on John for the insiders flip. |+| 2026-09-12 | Shipped. Native 1.0.0 is the insiders tier (John: "flip it"). The release row and zip live on the kicad-bridge page, the insiders manifest names it with `runtime: native`, the skills package is 1.0.137 with the new verbs documented, and ConfRoomROG and arav-rog pulled it through ab's own installer (sha verified) and answer natively; the other insiders boxes follow on their poll. Public stays on Python 0.9.348 until a human promotes. Rollback is the insiders manifest back to 0.9.351. | ## The goal in one sentence