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
docs/pcm.md+5−1@@ -213,12 +213,16 @@ it cannot yet tell whether KiCad is running, and it never restarts KiCad for you through KiCad's own dialog. - `keep_on_update` patterns are honoured by KiCad's PCM and not by the bridge's update path (the sample has none).+- The page serves `repository.json` and `packages.json` with `cache-control: no-cache`+ (every fetch is fresh, which is what an update needs) and the zips with+ `max-age=86400`. That is safe only because a version's zip never changes: never edit+ content without bumping the version, and never rebuild an old version's zip. ## Proof on ConfRoomROG (KiCad 10.0.5) Placeholders for the run; each line gets its output or a screenshot. -1. Repository served: `curl -s https://wiki.adom.inc/api/pages/adom/kicad-bridge/files/pcm/repository.json` returns the JSON; the zip at `packages.json`'s `download_url` hashes to its `download_sha256`. Result: PENDING+1. Repository served: `curl -s https://wiki.adom.inc/api/pages/adom/kicad-bridge/files/pcm/repository.json` returns the JSON; the zip at `packages.json`'s `download_url` hashes to its `download_sha256`. Result: DONE 2026-09-12 from the container, anonymously: repository.json HTTP 200 `application/json`; served packages.json sha256 `6ad4fc7b7cec57ed...` equals `packages.sha256`; served zip 13143 bytes, sha256 `8a7e632acd313993...` equals `download_sha256`. 2. `kicad_pcm_add_repository {url}` on ConfRoomROG: `added: true`, `kicad.json.adom-bak` present. Result: PENDING 3. `kicad_pcm_install {repositoryUrl, identifier}`: `version: "1.0.0"`, `symbolLibraries: ["PCM_Adom_Sample"]`, `footprintLibraries: ["PCM_Adom_Sample"]`. Result: PENDING 4. `kicad_pcm_list {}`: `updateAvailable: false`, `latestVersion: "1.0.0"`, `updateCheck: "ok"`. Result: PENDING