adom-jlcpcb
Search JLCPCB Electronics for components, pricing, stock, and datasheets. One Rust binary with three faces:
- CLI verbs —
adom-jlcpcb search|part|healthreturn normalized JSON on stdout, ready for| jq. - Hydrogen webview app —
adom-jlcpcb appopens a first-class "JLCPCB Search" tab with per-card images, price breaks, RoHS / lifecycle / packaging flags, copy-to-clipboard for MPN and JLCPCB PN, and a backend-health indicator. - Backend HTTP service —
adom-jlcpcb serveruns an HTTP proxy (port 8774) with a 10-minute LRU cache. Keeps the JLCPCB API key server-side; consumer containers pointJLCPCB_APIat it.

Install
curl -fsSL https://wiki-ufypy5dpx93o.adom.cloud/static/apps/adom-jlcpcb/adom-jlcpcb \
-o /tmp/adom-jlcpcb \
&& chmod +x /tmp/adom-jlcpcb \
&& sudo install -m 0755 /tmp/adom-jlcpcb /usr/local/bin/adom-jlcpcb \
&& adom-jlcpcb install
Installs the binary to /usr/local/bin/adom-jlcpcb, deploys ~/.claude/skills/adom-jlcpcb/SKILL.md and ~/.claude/skills/adom-jlcpcb-build/SKILL.md, and registers bash completions.
For gallia containers, this is done automatically by gallia/install.mjs — adom-jlcpcb is a Tier A app (every Adom user needs component search day-one).
Use
# CLI
adom-jlcpcb search "STM32F103RBT6" --limit 5
adom-jlcpcb part C8734 | jq '.components[0] | {mouser_pn, unit_price, price_tiers, stock}'
adom-jlcpcb health
# UI
adom-jlcpcb app # opens a Hydrogen webview tab
# Backend
JLCPCB_API_KEY_UNUSED_placeholder=<key> adom-jlcpcb serve # runs on service-jlcpcb container
Architecture
any user container service-jlcpcb (default-light)
────────────────── ──────────────────────────────
adom-jlcpcb search ─┐
adom-jlcpcb app ─┼──▶ adom-jlcpcb serve (port 8774)
adom-jlcpcb health ─┘ + JLCPCB_API_KEY_UNUSED_placeholder
+ 10-min LRU cache
+ self-heal cron watchdog
│
▼
api.jlcpcb.com / v2
The service container clones only adom-inc/adom-jlcpcb; its service/watchdog.sh runs every 2 min to (1) keep the service healthy and (2) git fetch origin main + rebuild + swap binary when a new release lands. No redeploy step after publishing — publish.sh pushes to main, the service container picks it up within ~5 minutes.
Source
Source at adom-inc/adom-jlcpcb (private). The public artifact is this wiki page's docker-binary asset — source access is not required to install or use the app.
Built following the canonical adom-app-model: single private repo for both client + service code, binary published to the wiki, service on its own default-light container, Tier A distribution via gallia/install.mjs.

