app
Parts Search
Public Made by Adomby adom
One search box across Mouser, DigiKey and JLCPCB: parallel queries, side-by-side product photos, and a Mouser-preferred recommendation that reasons around stock and lead time.
← Commit history
Hero: Windows title bar + app-name kicker + ≥90px gutter (conform to adom-wiki-hero-image); README: skillpack mandatory sections
2 files changed
+73−80
README.md+73−80@@ -1,118 +1,111 @@ # Adom Parts Search -**One search box. Mouser, DigiKey and JLCPCB at once. The best buy, chosen for you.**+**One search box. Mouser, DigiKey and JLCPCB at once — with the fastest, cheapest pick chosen for you.** +Sourcing a part used to mean three browser tabs, three logins, three different ways of saying "in+stock," and a mental spreadsheet to figure out who actually gets it to your bench fastest. Adom+Parts Search collapses that into one query: type a part — or just ask Claude — and it fires three+parallel searches, normalizes the answers, and names the single best place to buy. -Sourcing a part used to mean three browser tabs, three logins, three different ways of saying-"in stock," and a mental spreadsheet to figure out who actually gets it to your bench fastest.-Adom Parts Search collapses that into a single query. Type a part — or just ask Claude — and it-fires **three parallel searches**, normalizes the answers into one comparable shape, and tells you-who to order from and why.--It's a single Rust binary with two faces: a **CLI** for scripting and BOMs, and a first-class-**Hydrogen webview** for browsing side-by-side with real product photos.+## Install ```bash adompkg install adom-parts-search-adom-parts-search show "STM32F103RBT6" ``` -## Everything, from one interface+## Quick start -No more tab-juggling. One keyword goes to Mouser, DigiKey and JLCPCB simultaneously; the results-land in three aligned columns so you can compare manufacturer, package, price, stock and lead time-at a glance. A recommendation banner sits on top and names the single best place to buy.+```bash+# Browse — opens/refreshes the Parts Search Hydrogen tab + prints results+adom-parts-search show "STM32F103RBT6" -+# Script — JSON only, no webview+adom-parts-search search "LM555" | jq '.recommendation' -The recommendation is **Mouser-preferred for a concrete reason**: a 40-minute drone hop from-Mouser's Mansfield, TX warehouse to our Fort Worth facility means near-zero shipping and same-hour-parts. When Mouser has it in stock without a long lead, Mouser wins.+# Keep the app tab alive without a query+adom-parts-search app+``` -## A recommendation that actually reasons+## Screenshots -The winner isn't always Mouser — and the banner tells you when it flips. If Mouser is out of-stock, sitting on a 280-day lead, or the part is NRND, the policy steps aside and points you at-whoever can actually ship today.+### Three distributors, one comparable view+One keyword goes to Mouser, DigiKey and JLCPCB simultaneously; results land in three aligned+columns with product photos, and a recommendation banner names the winner. -+ -- **Mouser wins** when it's in stock with no long-lead penalty — drone delivery + \$0 shipping.-- **DigiKey wins** when Mouser is out, long-lead, or NRND and DigiKey can ship now.-- **JLCPCB** rides along as an assembly-library column — great for "is this a Basic part?" but it- doesn't compete on the buy-now recommendation (different workflow).+### A recommendation that actually reasons+The winner isn't always Mouser. When Mouser is out of stock, long-lead, or NRND, the policy steps+aside and points you at whoever can ship today. -## Built for scripts and BOMs too+ -The webview is for browsing; the CLI is for everything else. `search` returns clean JSON for-piping into `jq`, BOM tooling, or another Claude step. `show` drives the webview *and* prints the-full per-vendor breakdown to your terminal.+### Built for scripts and BOMs+`search` returns clean JSON for `jq`, BOM tooling, or another Claude step. -+ -```bash-# Browse — opens/refreshes the Parts Search Hydrogen tab + prints results-adom-parts-search show "ESP32-S3-WROOM-1U-N4R2" --limit 8 --in-stock-only+## Dependencies -# Script — JSON only, no webview-adom-parts-search search "LM555" | jq '.recommendation'+| Dependency | Required? | Why |+|---|---|---|+| `adom-mouser` (service-mouser) | Recommended | Mouser column + the Mouser-preferred recommendation |+| `adom-digikey` (service-digikey) | Recommended | DigiKey column + the fallback when Mouser can't ship |+| `adom-jlcpcb` (service-jlcpcb) | Optional | JLCPCB assembly-library column | -# Keep the app tab alive without a query-adom-parts-search app-```+Client-only — it owns no API keys and runs no service of its own; it federates the three vendor+backends and renders. At least one backend must be reachable; missing ones show a friendly error+and the recommendation reasons around them. -## Install+## Features -```bash-adompkg install adom-parts-search-```+- **One interface, three distributors** — parallel queries, side-by-side product photos.+- **Mouser-preferred routing** — 40-min drone delivery from Mansfield, TX to our Fort Worth+ facility + ~$0 shipping is why Mouser wins when it's in stock.+- **A recommendation that flips** — DigiKey wins on Mouser out-of-stock / long-lead / NRND.+- **Two faces** — a Hydrogen webview for browsing, a JSON CLI for scripting and BOMs.+- **Graceful degradation** — a rate-limited or down backend never fails the whole search. -That's it — `adompkg` pulls the binary and registers the skill so Claude can drive it. The `show`-subcommand auto-starts the local app server on first call and opens the **Parts Search** Hydrogen-tab; later calls reuse the same server and re-render in place.+## Talk to the AI -## How it works+Sourcing / comparison:+- "source an STM32F103RBT6"+- "where can I get an ESP32-S3-WROOM cheapest and fastest"+- "compare Mouser, DigiKey and JLCPCB for an LM555"+- "check stock for a USB-C receptacle across distributors" -Adom Parts Search is **client-only** — it owns no API keys and runs no service of its own. It-coordinates the three existing vendor backends, each of which handles its own auth, caching, quota-and watchdog:+BOM:+- "price this BOM across distributors"+- "which of these parts is cheapest to assemble at JLCPCB" -```- adom-parts-search show "…"- │ (3 parallel HTTPS queries)- ├──▶ service-mouser (adom-mouser serve)- ├──▶ service-digikey (adom-digikey serve)- └──▶ service-jlcpcb (adom-jlcpcb serve)-```+## Skills -It aggregates the three responses, applies the Mouser-preferred recommendation, and renders. If a-backend is rate-limited or down, its column shows a friendly error and the recommendation reasons-around it instead of failing the whole search.+| Skill | Purpose |+|---|---|+| `adom-parts-search` | When/how Claude drives the app — `show` vs `search`, MPN extraction, part-family corrections |+| `adom-parts-search-build` | Release workflow (build, publish to the wiki) | -## See also+## CLI reference -- [`adom-mouser`](/adom/adom-mouser) · [`adom-digikey`](/adom/adom-digikey) · [`adom-jlcpcb`](/adom/adom-jlcpcb) — the single-vendor tools this app federates.+| Command | What it does |+|---|---|+| `adom-parts-search show "<q>"` | Open/refresh the Parts Search tab + print full per-vendor results |+| `adom-parts-search search "<q>"` | JSON only (no webview) — pipe to `jq` |+| `adom-parts-search app` | Keep the app tab running without a query |+| `--limit N` / `--in-stock-only` | Cap hits per vendor / hide zero-stock | ## Open source — make it yours, then give it back -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-parts-search # 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-```+This app is **open source under the MIT license**. Fork it, rewrite it, bend it to your 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 `adompkg publish` your+own fork, or open a pull request against this page. -> **One caveat — the search backend is an Adom service.** The actual lookups run against-> Adom's hosted Mouser, DigiKey and JLCPCB backends, which use **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.+> **One caveat — the search backend is an Adom service.** The actual lookups run against Adom's+> hosted Mouser, DigiKey and JLCPCB backends, which use Adom's vendor API credentials and count+> 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 is yours to fork+> and republish; the cloud API quota is not. ## License
screenshots/hero.png⋯ 1 unchanged line ⋯