app
DigiKey Electronics Search
Public Made by Adomby adom
DigiKey component search in your workspace — millions of parts with real-time stock, quantity pricing and datasheets. CLI verbs, a Hydrogen app, and a shared backend service.
← Commit history
Publish 1.0.2
18 files changed
+103−76
BUILD-SKILL.md+3−3README.md+64−60SKILL.md+1−1bin/._adom-digikeybin/adom-digikeypackage.json+5−2page.json+26−6screenshots/._cli.pngscreenshots/._hero.pngscreenshots/._results-buck.pngscreenshots/._results-sensors.pngscreenshots/hero.pngskills/._adom-digikeyskills/._adom-digikey-buildskills/adom-digikey-build/._SKILL.mdskills/adom-digikey-build/SKILL.md+3−3skills/adom-digikey/._SKILL.mdskills/adom-digikey/SKILL.md+1−1BUILD-SKILL.md+3−3@@ -44,10 +44,10 @@ A release syncs five places to the same version X.Y.Z: curl -s https://digikey-<slug>.adom.cloud/health | jq '.version' # → "X.Y.Z" ``` -7. **Verify on a fresh user container** (optional, but catches gallia regressions):+7. **Verify on a fresh user container** (optional, but catches install regressions): ```bash # on a fresh container:- node ~/gallia/install.mjs # Tier A block fetches from wiki+ adompkg install --refresh # Tier A block fetches from the registry adom-digikey --version # → "adom-digikey X.Y.Z" ``` @@ -57,7 +57,7 @@ A release syncs five places to the same version X.Y.Z: - [ ] Wiki page at `apps/adom-digikey` renders the new `install_hint` one-liner - [ ] User has seen a working screenshot of the webview - [ ] No console errors via `GET /console`-- [ ] `gallia/install.mjs` Tier A block still works (pulls + installs the new version)+- [ ] `adompkg install --refresh` still pulls + installs the new version (Tier A) - [ ] **Brand audit — in-app icons are monochrome white.** Run: ``` grep -nE 'fill="#00b8b0"|stroke="#00b8b0"|color: var\(--accent\)' src/app/*.html src/app/*.svg 2>/dev/null
README.md+64−60@@ -2,94 +2,98 @@ **DigiKey's catalog — millions of parts, real-time stock and quantity pricing — one command away.** -`adom-digikey` is the single-vendor DigiKey tool for the Adom ecosystem: one Rust binary with three-faces — a JSON **CLI**, a first-class **Hydrogen webview app**, and the shared **backend service**-that powers `service-digikey` and feeds [`adom-parts-search`](/adom/adom-parts-search).+ -## Install+`adom-digikey` is the single-vendor DigiKey tool for the Adom ecosystem — one Rust binary, three+faces: -```bash-adompkg install adom-digikey-```+- **CLI** — `adom-digikey search | part | health` for quick JSON-returning shell use and BOMs.+- **Hydrogen app** — `adom-digikey app` opens a searchable UI as a first-class Hydrogen tab.+- **Backend service** — `adom-digikey serve` runs the shared proxy (port 8777) that powers the+ `service-digikey` container and feeds [`adom-parts-search`](/adom/adom-parts-search). -## Quick start+It replaces the old `service-digikey` + MCP setup: no MCP server, no Adom Viewer. ```bash-# One-shot search (auto-detects backend, falls back to a direct DigiKey call)+adompkg install adom-digikey adom-digikey search "BME280"--# Interactive UI as a Hydrogen tab-adom-digikey app--# One exact part-adom-digikey part "296-TPS62840DLCRCT-ND" ``` -## Screenshots+## Real-time stock, straight to the bench -### Real-time stock, straight to the bench-DigiKey shines when you need it today. Every card shows live stock, qty-1 price + the break ladder,-lead time, RoHS and lifecycle — and the deep catalog means the obscure sensor or alt is right there.+DigiKey shines when you need it *today*. Every card shows live stock, qty-1 price and the full+break ladder, lead time, RoHS and lifecycle — and DigiKey's deep catalog means the obscure sensor+or alt part is usually right there. -+ -### The exact part, and its alternates-Search a function (`buck regulator 1A SOT-23`) or a precise MPN; parametric data surfaces the specs-that drive the decision, so the substitute is one glance away when the first choice is out.+## Find the exact part, and its alternates -+Search a function (`buck regulator 1A SOT-23`) or a precise MPN. DigiKey's parametric data lets the+cards surface the specs that actually drive a decision — Iq, Iout, Vin range, package — so the+substitute is one glance away when the first choice is out. -### Scriptable from the first keystroke-`search`/`part`/`health` return JSON — pipe to `jq`, a BOM, or another Claude step.+ -+## Scriptable from the first keystroke -## Dependencies+`search` returns JSON; `part` fetches one MPN; `health` checks the backend's OAuth token. Pipe it+into `jq`, a BOM, or another Claude step. -| Dependency | Required? | Why |-|---|---|---|-| `service-digikey` backend (`adom-digikey serve`) | Recommended | Manages the DigiKey OAuth handshake + token refresh + cache; the CLI auto-detects it |-| Direct DigiKey API | Fallback | Used automatically when no backend is reachable |+ -## Features+```bash+adom-digikey search "TPS62840DLCR" | jq '.components[0]'+adom-digikey part "296-TPS62840DLCRCT-ND"+adom-digikey health+``` -- **Three faces** — CLI verbs, a Hydrogen webview app, and the shared backend service.-- **OAuth handled for you** — the backend does the DigiKey v4 handshake + token refresh.-- **Deep catalog + parametrics** — millions of parts; cards surface the spec that matters.-- **The go-to alternate** — when Mouser is out or long-lead, [`adom-parts-search`](/adom/adom-parts-search) flips to DigiKey automatically.+## Install -## Talk to the AI+```bash+adompkg install adom-digikey+``` -- "price a TPS62840 buck on DigiKey"-- "is the BME280 in stock at DigiKey"-- "find a 1A buck regulator in SOT-23 on DigiKey"-- "datasheet for an SHT40 on DigiKey"+## How it works -## Skills+```+ any container service-digikey+ $ adom-digikey search "BME280" ──POST──▶ adom-digikey serve (:8777)+ $ adom-digikey app DIGIKEY_CLIENT_ID + OAuth+ (Hydrogen webview tab) token-refresh + cache+ │+ ▼+ api.digikey.com (v4)+``` -| Skill | Purpose |-|---|---|-| `adom-digikey` | When/how Claude drives the search — verbs, MPN vs keyword, reading the cards |-| `adom-digikey-build` | Release workflow (build, publish to the wiki) |+The backend manages the DigiKey OAuth handshake and token refresh for you; the CLI auto-detects it+(or a local `:8777`). DigiKey is the go-to alternate when Mouser is out of stock or long-lead —+see how [`adom-parts-search`](/adom/adom-parts-search) flips the recommendation automatically. -## CLI reference+## See also -| Command | What it does |-|---|---|-| `adom-digikey search "<q>"` | Search DigiKey → JSON |-| `adom-digikey part "<dk-pn>"` | Fetch one part → JSON |-| `adom-digikey app` | Open the searchable Hydrogen tab |-| `adom-digikey health` | Check the backend + OAuth token |-| `adom-digikey serve` | Run the shared backend proxy (port 8777) |+- [`adom-parts-search`](/adom/adom-parts-search) — searches Mouser, DigiKey and JLCPCB at once and picks the best buy. ## Open source — make it yours, then give it back -This app is **open source under the MIT license**. Fork it, improve it, then send it back: `adompkg-publish` your own version, or open a pull request against this page so the change lands for everyone.+This app is **open source under the MIT license**. Fork it, rewrite it, rename it, bend it to your+own workflow — and when you've made it better, **send your changes back to the Adom Wiki so the+whole community benefits**. Every wiki page is a git repo with a package registry on top, so+contributing back is first-class — improvements that land here ship to every Adom user who installs+the app.++```bash+adompkg install adom-digikey # install it+# …edit the source to taste…+adompkg publish # publish your own fork, or+# open a pull request against this page so the change lands for everyone+``` -> **One caveat — the search backend is an Adom service.** Lookups run against Adom's hosted DigiKey-> backend (`service-digikey`), which uses Adom's API credentials and counts against Adom's quota —-> an Adom service, **subject to change**. Everything client-side is yours to fork and republish.+> **One caveat — the search backend is an Adom service.** The actual lookups run against+> Adom's hosted DigiKey backend (`service-digikey`), which uses **Adom's vendor API credentials and counts against Adom's quota**. That+> hosted backend is an Adom service and is **subject to change** — rate limits, endpoints, and+> availability can move at any time. Everything client-side (the CLI, the webview, the rendering+> and recommendation logic) is yours to fork and republish; the cloud API quota is not. ## License
SKILL.md+1−1@@ -188,7 +188,7 @@ adom-digikey search "LM317" adom-digikey app # UI reads $DIGIKEY_API automatically ``` -Gallia users don't need to set `DIGIKEY_API` explicitly — `adom-digikey` is a Tier A app (see `adom-app-model`), so it's installed by every `gallia/install.mjs` run from the wiki binary. The CLI autodetects a local `adom-digikey serve` on 127.0.0.1:8777 and falls back to calling DigiKey directly if `DIGIKEY_CLIENT_ID` is set locally.+Users don't need to set `DIGIKEY_API` explicitly — `adom-digikey` is a Tier A app (see `adom-app-model`), so it's installed by every `adompkg install` run from the registry. The CLI autodetects a local `adom-digikey serve` on 127.0.0.1:8777 and falls back to calling DigiKey directly if `DIGIKEY_CLIENT_ID` is set locally. ### Local-only (quick testing)
bin/._adom-digikeyadded⋯ 1 unchanged line ⋯
bin/adom-digikeyadded⋯ 1 unchanged line ⋯
package.json+5−2@@ -1,6 +1,6 @@ { "slug": "adom-digikey",- "version": "1.0.1",+ "version": "1.0.2", "type": "app", "description": "DigiKey component search in your workspace \u2014 millions of parts with real-time stock, quantity pricing and datasheets. CLI verbs, a Hydrogen app, and a shared backend service.", "dependencies": {},@@ -32,5 +32,8 @@ "SKILL.md", "BUILD-SKILL.md", "screenshots/**"- ]+ ],+ "hero": {+ "path": "screenshots/hero.png"+ } }
page.json+26−6@@ -3,8 +3,8 @@ "type": "app", "slug": "adom-digikey", "title": "DigiKey Electronics Search",- "brief": "DigiKey component search in your workspace \u2014 millions of parts with real-time stock, quantity pricing and datasheets. CLI verbs, a Hydrogen app, and a shared backend service.",- "version": "1.0.1",+ "brief": "DigiKey component search in your workspace — millions of parts with real-time stock, quantity pricing and datasheets. CLI verbs, a Hydrogen app, and a shared backend service.",+ "version": "1.0.2", "install": { "binary_name": "adom-digikey", "install_dir": "",@@ -32,8 +32,8 @@ "public": true }, "hero": {- "path": "screenshots/hero.png",- "type": "image"+ "type": "image",+ "path": "screenshots/hero.png" }, "sample_prompts": [ "price a TPS62840 buck on DigiKey",@@ -53,8 +53,28 @@ "datasheet digikey", "in stock digikey" ],- "discovery_pitch": "Search DigiKey for millions of components with real-time stock, quantity pricing, and datasheets \u2014 CLI + Hydrogen webview app + shared backend service.",+ "discovery_pitch": "Search DigiKey for millions of components with real-time stock, quantity pricing, and datasheets — CLI + Hydrogen webview app + shared backend service.", "metadata": { "platform": "linux"- }+ },+ "description": "DigiKey component search in your workspace — millions of parts with real-time stock, quantity pricing and datasheets. CLI verbs, a Hydrogen app, and a shared backend service.",+ "dependencies": {},+ "needs_sudo": false,+ "scripts": {+ "install": "./install.sh",+ "uninstall": "./uninstall.sh"+ },+ "files": [+ "bin/**",+ "skills/**",+ "install.sh",+ "uninstall.sh",+ "package.json",+ "page.json",+ "README.md",+ "SKILL.md",+ "BUILD-SKILL.md",+ "screenshots/**"+ ],+ "org": "adom" }
screenshots/._cli.pngadded⋯ 1 unchanged line ⋯
screenshots/._hero.pngadded⋯ 1 unchanged line ⋯
screenshots/._results-buck.pngadded⋯ 1 unchanged line ⋯
screenshots/._results-sensors.pngadded⋯ 1 unchanged line ⋯
screenshots/hero.png⋯ 1 unchanged line ⋯
skills/._adom-digikeyadded⋯ 1 unchanged line ⋯
skills/._adom-digikey-buildadded⋯ 1 unchanged line ⋯
skills/adom-digikey-build/._SKILL.mdadded⋯ 1 unchanged line ⋯
skills/adom-digikey-build/SKILL.md+3−3@@ -44,10 +44,10 @@ A release syncs five places to the same version X.Y.Z: curl -s https://digikey-<slug>.adom.cloud/health | jq '.version' # → "X.Y.Z" ``` -7. **Verify on a fresh user container** (optional, but catches gallia regressions):+7. **Verify on a fresh user container** (optional, but catches install regressions): ```bash # on a fresh container:- node ~/gallia/install.mjs # Tier A block fetches from wiki+ adompkg install --refresh # Tier A block fetches from the registry adom-digikey --version # → "adom-digikey X.Y.Z" ``` @@ -57,7 +57,7 @@ A release syncs five places to the same version X.Y.Z: - [ ] Wiki page at `apps/adom-digikey` renders the new `install_hint` one-liner - [ ] User has seen a working screenshot of the webview - [ ] No console errors via `GET /console`-- [ ] `gallia/install.mjs` Tier A block still works (pulls + installs the new version)+- [ ] `adompkg install --refresh` still pulls + installs the new version (Tier A) - [ ] **Brand audit — in-app icons are monochrome white.** Run: ``` grep -nE 'fill="#00b8b0"|stroke="#00b8b0"|color: var\(--accent\)' src/app/*.html src/app/*.svg 2>/dev/null
skills/adom-digikey/._SKILL.mdadded⋯ 1 unchanged line ⋯
skills/adom-digikey/SKILL.md+1−1@@ -188,7 +188,7 @@ adom-digikey search "LM317" adom-digikey app # UI reads $DIGIKEY_API automatically ``` -Gallia users don't need to set `DIGIKEY_API` explicitly — `adom-digikey` is a Tier A app (see `adom-app-model`), so it's installed by every `gallia/install.mjs` run from the wiki binary. The CLI autodetects a local `adom-digikey serve` on 127.0.0.1:8777 and falls back to calling DigiKey directly if `DIGIKEY_CLIENT_ID` is set locally.+Users don't need to set `DIGIKEY_API` explicitly — `adom-digikey` is a Tier A app (see `adom-app-model`), so it's installed by every `adompkg install` run from the registry. The CLI autodetects a local `adom-digikey serve` on 127.0.0.1:8777 and falls back to calling DigiKey directly if `DIGIKEY_CLIENT_ID` is set locally. ### Local-only (quick testing)