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
v0.9.39: AD v1.9.79 generic contract — complete detect (installVerb + hostAppOptionalVerbs), timeouts block for slow verbs, statusVerb kicad_status (+ alias handler), generic host_app_not_installed errorCode
4 files changed
+30−8
SKILL.md+1−1@@ -20,7 +20,7 @@ A fresh machine can be missing KiCad, or the reverse-bridge plugin auto-installs | Signal (`errorCode` / field) | What it means | What YOU do | |---|---|---| -| `kicad_not_installed` | KiCad (the user's host app) isn't on this machine. AD detects host apps but never auto-installs them. | **Don't send the user to download it.** Offer to install it, then run `kicad_upgrade '{}'` — the agent installs the official build from scratch. Then retry. | +| `host_app_not_installed` (generic; `hostApp:"KiCad"`. Legacy alias `kicad_not_installed` in `errorCodeLegacy`) | KiCad (the user's host app) isn't on this machine. AD detects host apps but never auto-installs them. | **Don't send the user to download it.** Offer to install it, then run `kicad_upgrade '{}'` — the agent installs the official build from scratch. Then retry. | | `kicad_version_not_installed` | The `kicadVersion` you asked for isn't installed. | Run `kicad_list_versions '{}'`; retry with an installed version or omit `kicadVersion` to use the newest. | | `pluginAutoInstall` present in a response | Your first `kicad_*` call auto-installed the reverse-bridge plugin into KiCad (idempotent). | Nothing — expected. Subsequent calls are near-zero cost. | | bridge not responding on the first call | AD is lazy-spawning the bridge (+ ~9s KiCad detection). | Wait a beat and retry; it binds once and stays up. |
adom-bridge-kicad-manifest.json+4−4@@ -1,10 +1,10 @@ { "manifest_version": 1, "name": "kicad",- "version": "0.9.38",- "url": "https://wiki.adom.inc/blob/app/adom-desktop-kicad-bridge/adom-bridge-kicad-v0.9.38.zip",- "sha256": "217b3ccb1bd640abd14ad3c7b33b86c9a8a9a60112ca795332c2414199a4b604",- "size": 622873,+ "version": "0.9.39",+ "url": "https://wiki.adom.inc/blob/app/adom-desktop-kicad-bridge/adom-bridge-kicad-v0.9.39.zip",+ "sha256": "deddf60344fec0f0b9792814bddd2cb3b472b41b29c9dfd3952454f031101ce4",+ "size": 623435, "verbPrefixes": [ "kicad_" ],
adom-bridge-kicad-v0.9.39.zipadded⋯ 1 unchanged line ⋯
bridge.json+25−3@@ -2,7 +2,7 @@ "manifest_version": 1, "name": "kicad", "displayName": "KiCad EDA",- "version": "0.9.38",+ "version": "0.9.39", "description": "Reverse bridge for KiCad \u2014 board/schematic introspection, lint via kicad-cli, plugin install, multi-instance probe, in-process DRC.", "homepage": "https://wiki.adom.inc/adom/adom-desktop", "author": "Adom Inc.",@@ -50,6 +50,7 @@ "kicad_send_key", "kicad_click", "kicad_adom_library_status",+ "kicad_status", "kicad_bridge_status", "kicad_bridge_call", "kicad_open_editors",@@ -61,7 +62,22 @@ "kicad_check_for_updates", "kicad_upgrade" ],- "statusVerb": "kicad_bridge_status",+ "statusVerb": "kicad_status",+ "timeouts": {+ "default": 130,+ "verbs": {+ "upgrade": 900,+ "run_drc": 300,+ "run_erc": 300,+ "export_step": 300,+ "export_gerber": 210,+ "export_pdf": 180,+ "export_svg": 180,+ "open_3d_viewer": 300,+ "enable_software_opengl": 240,+ "format_upgrade": 180+ }+ }, "dependencies": { "python": ">=3.11", "kicad": ">=7.0"@@ -92,7 +108,13 @@ "/usr/bin/kicad", "/usr/local/bin/kicad" ]- }+ },+ "installVerb": "kicad_upgrade",+ "hostAppOptionalVerbs": [+ "readiness",+ "describe",+ "status"+ ] }, "platforms": { "windows": {