← Commit history

Initial commit: app/adom-digikey

Kyle Bergstedt ·94be2bdc71 ·4mo ago
2 files changed +105
README.mdadded+61
@@ -0,0 +1,61 @@+# adom-digikey++Search DigiKey Electronics for components, pricing, stock, and datasheets. One Rust binary with three faces:++- **CLI verbs** — `adom-digikey search|part|health` return normalized JSON on stdout, ready for `| jq`.+- **Hydrogen webview app** — `adom-digikey app` opens a first-class "DigiKey Search" tab with per-card images, price breaks, RoHS / lifecycle / packaging flags, copy-to-clipboard for MPN and DigiKey PN, and a backend-health indicator.+- **Backend HTTP service** — `adom-digikey serve` runs an HTTP proxy (port 8777) with a 10-minute LRU cache. Keeps the DigiKey API key server-side; consumer containers point `DIGIKEY_API` at it.++![DigiKey search webview showing STM32F103 results with peripherals and specs](https://wiki-ufypy5dpx93o.adom.cloud/static/apps/adom-digikey/digikey-search-results.png)++## Install++```bash+curl -fsSL https://wiki-ufypy5dpx93o.adom.cloud/static/apps/adom-digikey/adom-digikey \+  -o /tmp/adom-digikey \+  && chmod +x /tmp/adom-digikey \+  && sudo install -m 0755 /tmp/adom-digikey /usr/local/bin/adom-digikey \+  && adom-digikey install+```++Installs the binary to `/usr/local/bin/adom-digikey`, deploys `~/.claude/skills/adom-digikey/SKILL.md` and `~/.claude/skills/adom-digikey-build/SKILL.md`, and registers bash completions.++For gallia containers, this is done automatically by `gallia/install.mjs` — adom-digikey is a **Tier A app** (every Adom user needs component search day-one).++## Use++```bash+# CLI+adom-digikey search "STM32F103RBT6" --limit 5+adom-digikey part 296-STM32F103RBT6-ND | jq '.components[0] | {mouser_pn, unit_price, price_tiers, stock}'+adom-digikey health++# UI+adom-digikey app        # opens a Hydrogen webview tab++# Backend+DIGIKEY_CLIENT_ID=<key> adom-digikey serve    # runs on service-digikey container+```++## Architecture++```+  any user container             service-digikey (default-light)+  ──────────────────             ──────────────────────────────+  adom-digikey search       ─┐+  adom-digikey app          ─┼──▶ adom-digikey serve (port 8777)+  adom-digikey health       ─┘    + DIGIKEY_CLIENT_ID+                                 + 10-min LRU cache+                                 + self-heal cron watchdog+                                          │+                                          ▼+                                api.digikey.com / v2+```++The service container clones only `adom-inc/adom-digikey`; 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-digikey](https://github.com/adom-inc/adom-digikey) (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](https://wiki-ufypy5dpx93o.adom.cloud/wiki/skills/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`.
page.jsonadded+44
@@ -0,0 +1,44 @@+{+  "schema_version": 1,+  "type": "app",+  "slug": "adom-digikey",+  "title": "DigiKey Electronics Search",+  "brief": "Search DigiKey components, pricing, and stock. Three faces: CLI verbs (search/part/health), a Hydrogen webview app, and a shared backend HTTP service.",+  "version": "0.2.0",+  "tags": [],+  "license": "MIT",+  "discovery_triggers": [+    "digikey",+    "digikey parts",+    "digikey pricing",+    "digikey search",+    "digikey part number",+    "component search",+    "part lookup",+    "price breaks",+    "datasheet digikey",+    "in stock digikey"+  ],+  "discovery_pitch": "Search DigiKey Electronics for components, pricing, stock, and datasheets — CLI + webview app + shared backend service.",+  "install": {+    "binary_name": "adom-digikey",+    "install_dir": "",+    "install_hint": "",+    "version_cmd": ""+  },+  "readme": "# adom-digikey\n\nSearch DigiKey Electronics for components, pricing, stock, and datasheets. One Rust binary with three faces:\n\n- **CLI verbs** — `adom-digikey search|part|health` return normalized JSON on stdout, ready for `| jq`.\n- **Hydrogen webview app** — `adom-digikey app` opens a first-class \"DigiKey Search\" tab with per-card images, price breaks, RoHS / lifecycle / packaging flags, copy-to-clipboard for MPN and DigiKey PN, and a backend-health indicator.\n- **Backend HTTP service** — `adom-digikey serve` runs an HTTP proxy (port 8777) with a 10-minute LRU cache. Keeps the DigiKey API key server-side; consumer containers point `DIGIKEY_API` at it.\n\n![DigiKey search webview showing STM32F103 results with peripherals and specs](https://wiki-ufypy5dpx93o.adom.cloud/static/apps/adom-digikey/digikey-search-results.png)\n\n## Install\n\n```bash\ncurl -fsSL https://wiki-ufypy5dpx93o.adom.cloud/static/apps/adom-digikey/adom-digikey \\\n  -o /tmp/adom-digikey \\\n  && chmod +x /tmp/adom-digikey \\\n  && sudo install -m 0755 /tmp/adom-digikey /usr/local/bin/adom-digikey \\\n  && adom-digikey install\n```\n\nInstalls the binary to `/usr/local/bin/adom-digikey`, deploys `~/.claude/skills/adom-digikey/SKILL.md` and `~/.claude/skills/adom-digikey-build/SKILL.md`, and registers bash completions.\n\nFor gallia containers, this is done automatically by `gallia/install.mjs` — adom-digikey is a **Tier A app** (every Adom user needs component search day-one).\n\n## Use\n\n```bash\n# CLI\nadom-digikey search \"STM32F103RBT6\" --limit 5\nadom-digikey part 296-STM32F103RBT6-ND | jq '.components[0] | {mouser_pn, unit_price, price_tiers, stock}'\nadom-digikey health\n\n# UI\nadom-digikey app        # opens a Hydrogen webview tab\n\n# Backend\nDIGIKEY_CLIENT_ID=<key> adom-digikey serve    # runs on service-digikey container\n```\n\n## Architecture\n\n```\n  any user container             service-digikey (default-light)\n  ──────────────────             ──────────────────────────────\n  adom-digikey search       ─┐\n  adom-digikey app          ─┼──▶ adom-digikey serve (port 8777)\n  adom-digikey health       ─┘    + DIGIKEY_CLIENT_ID\n                                 + 10-min LRU cache\n                                 + self-heal cron watchdog\n                                          │\n                                          ▼\n                                api.digikey.com / v2\n```\n\nThe service container clones only `adom-inc/adom-digikey`; 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.\n\n## Source\n\nSource at [adom-inc/adom-digikey](https://github.com/adom-inc/adom-digikey) (private). The public artifact is this wiki page's `docker-binary` asset — source access is not required to install or use the app.\n\nBuilt following the canonical [adom-app-model](https://wiki-ufypy5dpx93o.adom.cloud/wiki/skills/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`.\n",+  "author": {+    "id": "695820315b5f1e4db2fcf602",+    "name": "Kyle Bergstedt",+    "email": "[email protected]"+  },+  "visibility": {+    "public": true+  },+  "hero": null,+  "sample_prompts": [],+  "metadata": {},+  "created_at": "2026-05-28T05:28:38.495Z",+  "updated_at": "2026-05-28T05:28:38.495Z",+  "skills": []+}\ No newline at end of file