app
Adom Bridge (macOS)
Public Made by Adomby adom
Adom Bridge is a small operating system for AI on your Mac: it gives an AI real hands on your native desktop, including your signed-in browser, KiCad, Fusion 360, the shell, files, windows and screenshots. It provisions its own Node and Python so bridges run without touching your setup, and it talks straight to your machine. It ships with Adom Hydrogen and installs standalone too, so if you drive your Mac with Claude Desktop or another AI, this is what gives that AI hands.
← Commit history
Delete skills/adom-desktop-bridge-ownership
2 files changed
−85
skills/adom-desktop-bridge-ownership/._SKILL.mddeleted⋯ 1 unchanged line ⋯
skills/adom-desktop-bridge-ownership/SKILL.mddeleted−85@@ -1,85 +0,0 @@-name: adom-desktop-bridge-ownership-description: The boundary between Adom Bridge core and a bridge author — what AD owns vs what you (the bridge) own. Read before filing an AD bug about a bridge (kicad, fusion360, native-browser, puppeteer, blender, rdp, or any third-party bridge) or before editing bridge code, so you fix and report in the right place.--# Who owns what: AD core vs bridge author--**Read this FIRST if you're working on, debugging, or filing a bug about a bridge-(kicad, fusion360, native-browser, puppeteer, blender, rdp, or any third-party-bridge).** It exists because an AI drove the Fusion bridge end-to-end, hit a dozen-issues, and filed almost all of them against **adom-desktop** — when nearly every-one was **bridge code**. The platform never stated the boundary, so the AI guessed-"AD," posted to the wrong place, and hand-edited the wrong copy. Don't repeat that.--## The split--### Adom Bridge (AD) core owns-- The `adom-desktop` CLI + the **relay / `/command` passthrough** (AD relays a- bridge's response **verbatim** — incl. `_hint`/`_next`/`related` and every other- top-level field the bridge sets; v1.9.30 made this a denylist, never an allowlist).-- **Bridge lifecycle**: discover/register/spawn/reap, stable ports, the- `bridge_*` verbs, and **streaming a bridge from its wiki page into the local- cache** (`bridge_install` / `refresh_bridges` / the 4-h auto-sync).-- The core `desktop_*` verbs (input, screenshot, UIA, tunnels, wsl, …).-- Generic, app-agnostic behavior. **AD returns good DATA so the calling AI decides- — it does NOT bake in app-specific verbs** (see CLAUDE.md "AD stays GENERIC").--### The bridge author owns (NOT AD)-- **Every bridge-specific verb and its behavior** — args, outputs, and the per-call- `_hint`/`_next`/`related`/`pitfalls` (the rich-hint contract). A wrong/missing- hint is a **bridge** fix.-- **Any integration the bridge ships** — e.g. Fusion's **APS** cloud search: its- OAuth/auth, its config, its `*_aps_*` verbs, its never-charge caps. AD does NOT- manage it. Divergent results from the bridge's own status verb = a **bridge** bug.-- **The bridge's add-in / plugin code AND getting it deployed into the host app.**- Editing the streamed cache source is not enough if the host app loads the add-in- from elsewhere (e.g. Fusion loads from `%APPDATA%\…\API\AddIns\`, not the- bridges-cache) — wiring cache→host-app is the **bridge's** concern.-- The bridge's `SKILL.md`, `describe` verb, hero/wiki page, and version.-- The **edit-source → publish → bump version → reinstall** loop.--## The cardinal rules--1. **NEVER hand-edit the streamed cache** (`%LOCALAPPDATA%\Adom Desktop\bridges-cache\<bridge>\`).- It's a download. Edit the **source** (the bridge's own repo/wiki), `publish`,- bump the version, then `bridge_install`/`refresh_bridges` to pull it. A- hand-edit is overwritten on the next sync and may not even be what the host app- runs (cache-vs-deployed-copy gotcha).-2. **Before filing a bridge bug against adom-desktop, ask "who owns this?"** If it's- verb behavior, a hint, an integration, an add-in, or the bridge's docs → it's the- **bridge author's** repo/wiki, not AD. Cloud-owned bridges (kicad, fusion, puppeteer)- live in their OWN wiki repos (see CLAUDE.md "Cloud-owned bridge repos").-3. **AD's job is to relay + host, generically.** If AD is *dropping* or *mangling*- a bridge's data, or missing a lifecycle/verb capability — THAT is an AD bug.- Fix the AD VERB; don't re-absorb the bridge.--When in doubt: data-shape/relay/lifecycle/ports → **AD**; what a verb does, its-hints, its integration, its add-in, its docs → **the bridge**.--## Skill ownership — a bridge ships its OWN skill pkg (not bundled in AD-core)--The same boundary applies to the **consumer skill** (the SKILL.md that teaches a cloud-container how to drive a bridge's verbs):--- **The AD-core pkg** (`adom-wiki pkg install adom/adom-desktop`) ships ONLY core skills —- desktop verbs, discovery, direct-api, installer, notify, multi-ad, bridge-sdk,- bridge-ownership, windows-host. It must NOT bundle a cloud/3rd-party bridge's skill (it- would go stale and isn't AD's to own). (2026-06-28: `eagle-commands.md` — Fusion-Electronics,- `fusion_electron_run` — was dropped for this reason; 2026-06-29: `pup-SKILL.md` was dropped- too when Puppeteer became cloud-owned. Both belong in their bridge's own pkg.)-- **Each cloud/3rd-party bridge publishes its OWN skill pkg** carrying its SKILL.md, e.g.- `adom/adom-desktop-kicad-bridge`, `adom/adom-desktop-fusion-bridge`,- `adom/adom-desktop-puppeteer-bridge`. The cloud thread that owns the bridge owns + bumps it.- (Puppeteer's runtime still ships as an NSIS-bundled SEED for fresh-PC/offline spawn — but its- *skill* now ships from its own page, like the other cloud bridges.)-- **How a container gets dynamic bridge skills:** it does NOT get them from the AD-core install.- It (a) installs AD-core (CLI + core skills), then (b) `adom-desktop bridge_list` against the- live laptop AD to see which bridges are present, then (c) `adom-wiki pkg install- adom/adom-desktop-<bridge>-bridge` for each one it needs (and `adom-wiki pkg update` keeps them- fresh, version-matched to the bridge the cloud thread published). The bridge's runtime PAYLOAD- (what AD spawns on the laptop) is a SEPARATE artifact — the `/files` manifest+zip that- `bridge_install`/`refresh_bridges` pull — don't conflate it with the skill pkg.-- **Discoverability gap / enhancement:** `bridge_list` should surface the exact- `adom-wiki pkg install adom/adom-desktop-<name>-bridge` line per live bridge so a container- knows precisely which skill pkg to pull (today it infers the slug from the bridge's `docs`).