kicad-bridge-macos
Public Made by Adomby adom
KiCad Bridge for macOS: the AI skill for driving KiCad on the user's Mac through Adom Bridge (kicad_* verbs), in the background. DOCS ONLY: the bridge runtime is one signed macOS binary that Adom Bridge installs and updates, published on the Releases tab as adom-bridge-kicad-macos-v<ver>.zip. The pkg version is kept in lockstep with the Release version.
name: kicad-bridge-macos public: true description: "Drive KiCad on the user's Mac from this container through Adom Bridge: open boards, schematics, symbols and footprints, show the 3D Viewer and turn it, run DRC/ERC, export fab outputs, route and place on a live board, install libraries and parts, take screenshots. Everything runs in the background: KiCad never takes the user's focus. Trigger words: kicad, open my board, open schematic, symbol editor, footprint editor, 3D viewer, run drc, gerbers, kicad on mac, kicad bridge."
KiCad on the user's Mac
Every verb goes through the Adom Bridge CLI and runs on the user's Mac:
adom-bridge kicad_<verb> '<json args>'
kicad_describe '{}'lists every verb with its arguments.kicad_readiness '{}'says whether KiCad is installed and ready.- KiCad missing (
errorCode: host_app_not_installed): offer to install it, then runkicad_upgrade '{}'(the official universal DMG into /Applications/KiCad). - Branch on
errorCode, not on the prose, and pass the_hinton to the user.
Background by default
KiCad windows open behind the user's work and never take focus. To show the user something on purpose, pass foreground: true with a foregroundReason; the bridge captions the reason first. Use kicad_screenshot_all (then pull the files) to see what KiCad shows.
Permissions
The bridge works through Adom Bridge's macOS grants: Accessibility (windows and menus), Screen Recording (screenshots) and, for keys and clicks into KiCad, Accessibility Access (Events). A verb that needs a missing grant returns errorCode: permission_required and names the System Settings pane.
Things that differ from Windows
- macOS has one menu bar per app, and a KiCad in the background keeps the last active window's menus up. The bridge opens editors and the board's 3D Viewer through KiCad's own actions instead, and fires the 3D Viewer's camera commands (
kicad_3d_view,kicad_animate_view) through a small plugin inside KiCad that the bridge installs and keeps current. kicad_enable_software_openglhas nothing to do on a Mac and says so.
Common jobs
| Job | Verb |
|---|---|
| Open a board / schematic | kicad_open_board {filePath}, kicad_open_schematic {filePath} |
| Show a symbol / footprint | kicad_show_symbol {symbolName, libraryName}, kicad_show_footprint {footprintName, libraryName} |
| 3D | kicad_open_3d_viewer {editor:"pcb"}, kicad_3d_view {action}, kicad_animate_view {steps}, kicad_render_board_3d {filePath} |
| Checks and outputs | kicad_run_drc, kicad_run_erc, kicad_export_gerber, kicad_export_step, kicad_export_bom |
| Live board edits (IPC API) | kicad_routing_state, kicad_route_net, kicad_place_footprint, kicad_zoom_to |
| Libraries and parts | kicad_install_library, kicad_install_symbol, kicad_install_footprint |
| What is open | kicad_open_editors, kicad_document_info, kicad_window_info |
---
name: kicad-bridge-macos
public: true
description: "Drive KiCad on the user's Mac from this container through Adom Bridge: open boards, schematics, symbols and footprints, show the 3D Viewer and turn it, run DRC/ERC, export fab outputs, route and place on a live board, install libraries and parts, take screenshots. Everything runs in the background: KiCad never takes the user's focus. Trigger words: kicad, open my board, open schematic, symbol editor, footprint editor, 3D viewer, run drc, gerbers, kicad on mac, kicad bridge."
---
# KiCad on the user's Mac
Every verb goes through the Adom Bridge CLI and runs on the user's Mac:
```bash
adom-bridge kicad_<verb> '<json args>'
```
- `kicad_describe '{}'` lists every verb with its arguments. `kicad_readiness '{}'` says whether KiCad is installed and ready.
- KiCad missing (`errorCode: host_app_not_installed`): offer to install it, then run `kicad_upgrade '{}'` (the official universal DMG into /Applications/KiCad).
- Branch on `errorCode`, not on the prose, and pass the `_hint` on to the user.
## Background by default
KiCad windows open behind the user's work and never take focus. To show the user something on purpose, pass `foreground: true` with a `foregroundReason`; the bridge captions the reason first. Use `kicad_screenshot_all` (then pull the files) to see what KiCad shows.
## Permissions
The bridge works through Adom Bridge's macOS grants: Accessibility (windows and menus), Screen Recording (screenshots) and, for keys and clicks into KiCad, Accessibility Access (Events). A verb that needs a missing grant returns `errorCode: permission_required` and names the System Settings pane.
## Things that differ from Windows
- macOS has one menu bar per app, and a KiCad in the background keeps the last active window's menus up. The bridge opens editors and the board's 3D Viewer through KiCad's own actions instead, and fires the 3D Viewer's camera commands (`kicad_3d_view`, `kicad_animate_view`) through a small plugin inside KiCad that the bridge installs and keeps current.
- `kicad_enable_software_opengl` has nothing to do on a Mac and says so.
## Common jobs
| Job | Verb |
|---|---|
| Open a board / schematic | `kicad_open_board {filePath}`, `kicad_open_schematic {filePath}` |
| Show a symbol / footprint | `kicad_show_symbol {symbolName, libraryName}`, `kicad_show_footprint {footprintName, libraryName}` |
| 3D | `kicad_open_3d_viewer {editor:"pcb"}`, `kicad_3d_view {action}`, `kicad_animate_view {steps}`, `kicad_render_board_3d {filePath}` |
| Checks and outputs | `kicad_run_drc`, `kicad_run_erc`, `kicad_export_gerber`, `kicad_export_step`, `kicad_export_bom` |
| Live board edits (IPC API) | `kicad_routing_state`, `kicad_route_net`, `kicad_place_footprint`, `kicad_zoom_to` |
| Libraries and parts | `kicad_install_library`, `kicad_install_symbol`, `kicad_install_footprint` |
| What is open | `kicad_open_editors`, `kicad_document_info`, `kicad_window_info` |