← Commit history

Hero: Windows title bar + app-name kicker + ≥90px gutter (conform to adom-wiki-hero-image); README: skillpack mandatory sections

John Lauer ·ecffe28afd ·4mo ago ·parent 941ef1c
2 files changed +61−63
README.md+61−63
@@ -2,96 +2,94 @@  **Know it's in the JLCPCB library — Basic or Extended — before you commit a board to fab.** +`adom-jlcpcb` is the single-vendor JLCPCB / LCSC 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-jlcpcb` and feeds [`adom-parts-search`](/adom/adom-parts-search). -`adom-jlcpcb` is the single-vendor JLCPCB / LCSC tool for the Adom ecosystem — one Rust binary,-three faces:--- **CLI** — `adom-jlcpcb search | part | health` for quick JSON-returning shell use and BOMs.-- **Hydrogen app** — `adom-jlcpcb app` opens a searchable UI as a first-class Hydrogen tab.-- **Backend service** — `adom-jlcpcb serve` runs the shared proxy (port 8779) that powers the-  `service-jlcpcb` container and feeds [`adom-parts-search`](/adom/adom-parts-search).+## Install  ```bash adompkg install adom-jlcpcb-adom-jlcpcb search "0402 10k resistor" ``` -## Basic vs Extended — the question that costs money+## Quick start -On a JLCPCB assembly run, **Basic** parts are pre-loaded on the line (no fee), while **Extended**-parts add a per-part feeder setup charge. Picking a Basic equivalent up front can shave real money-off a build. `adom-jlcpcb` shows the library tier on every card, alongside LCSC code, stock and-price, so you design around what's actually cheap to place.+```bash+# One-shot search+adom-jlcpcb search "0402 10k resistor" -![adom-jlcpcb results for an 0402 10k resistor and an LM358 op-amp, all flagged as Basic parts with LCSC codes and assembly pricing](/blob/app/adom-jlcpcb/screenshots/results-passives.png)+# Interactive UI as a Hydrogen tab+adom-jlcpcb app -## Catch the Extended part before fab does+# One exact LCSC code+adom-jlcpcb part "C7950"+``` -Search your MCU or regulator and you'll see at a glance whether your first pick is Basic, and what-the Basic alternative is. Here a popular STM32 is Basic, while a drop-in GD32 equivalent is-Extended — exactly the trade-off you want to make *before* the board goes out.+## Screenshots -![adom-jlcpcb results comparing an STM32F103C8T6 Basic part with a GD32 Extended alternative and a Basic MLCC, with LCSC stock and pricing](/blob/app/adom-jlcpcb/screenshots/results-mcu.png)+### Basic vs Extended — the question that costs money+On a JLCPCB assembly run, **Basic** parts are pre-loaded on the line (no fee); **Extended** parts+add a per-part feeder charge. Every card shows the tier, LCSC code, stock and price, so you design+around what's actually cheap to place.++![adom-jlcpcb results for an 0402 10k resistor and an LM358 op-amp, flagged as Basic parts with LCSC codes and assembly pricing](/blob/app/adom-jlcpcb/screenshots/results-passives.png)++### Catch the Extended part before fab does+Search your MCU or regulator and see at a glance whether your first pick is Basic — and what the+Basic alternative is. Here a popular STM32 is Basic while a drop-in GD32 is Extended. -## Scriptable from the first keystroke+![adom-jlcpcb results comparing an STM32F103C8T6 Basic part with a GD32 Extended alternative and a Basic MLCC, with LCSC stock and pricing](/blob/app/adom-jlcpcb/screenshots/results-mcu.png) -`search` returns JSON; `part` fetches one LCSC code; `health` checks the backend. Pipe it into-`jq`, a BOM, or a board-cost estimator.+### Scriptable from the first keystroke+`search`/`part`/`health` return JSON — pipe to `jq`, a BOM, or a board-cost estimator.  ![Terminal showing adom-jlcpcb search piped to jq for the first component including its Basic library tier, then a health check](/blob/app/adom-jlcpcb/screenshots/cli.png) -```bash-adom-jlcpcb search "LM358" | jq '.components[0]'-adom-jlcpcb part "C7950"-adom-jlcpcb health-```+## Dependencies -## Install+| Dependency | Required? | Why |+|---|---|---|+| `service-jlcpcb` backend (`adom-jlcpcb serve`) | Recommended | LCSC resolve + cache; the CLI auto-detects it | -```bash-adompkg install adom-jlcpcb-```+## Features -## How it works+- **Three faces** — CLI verbs, a Hydrogen webview app, and the shared backend service.+- **Library tier on every card** — Basic vs Extended, so you avoid surprise feeder-setup fees.+- **LCSC codes + assembly pricing** — what JLCPCB will actually charge to place the part.+- **Assembly-first** — in [`adom-parts-search`](/adom/adom-parts-search) it's the library column, not a buy-now vendor. -```-  any container                          service-jlcpcb-  $ adom-jlcpcb search "LM358"  ──POST──▶  adom-jlcpcb serve  (:8779)-  $ adom-jlcpcb app                        LCSC resolve + cache-    (Hydrogen webview tab)-                                                 │-                                                 ▼-                                          JLCPCB / LCSC parts API-```+## Talk to the AI -JLCPCB is an assembly-first workflow, so in [`adom-parts-search`](/adom/adom-parts-search) it shows-as a library column rather than competing on the buy-now recommendation — but for "can JLCPCB-place this for me, and is it Basic?" it's the fastest answer in the workspace.+- "is the LM358 a JLCPCB basic part?"+- "find a basic 0402 10k resistor on JLCPCB"+- "is my STM32 a basic or extended part on JLCPCB"+- "what's the LCSC code for an LM358" -## See also+## Skills -- [`adom-parts-search`](/adom/adom-parts-search) — searches Mouser, DigiKey and JLCPCB at once and picks the best buy.+| Skill | Purpose |+|---|---|+| `adom-jlcpcb` | When/how Claude drives the search — Basic/Extended, LCSC codes, reading the cards |+| `adom-jlcpcb-build` | Release workflow (build, publish to the wiki) | -## Open source — make it yours, then give it back+## CLI reference -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.+| Command | What it does |+|---|---|+| `adom-jlcpcb search "<q>"` | Search JLCPCB / LCSC → JSON |+| `adom-jlcpcb part "<lcsc>"` | Fetch one LCSC code → JSON |+| `adom-jlcpcb app` | Open the searchable Hydrogen tab |+| `adom-jlcpcb health` | Check the backend + LCSC reachability |+| `adom-jlcpcb serve` | Run the shared backend proxy (port 8779) | -```bash-adompkg install adom-jlcpcb      # 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-```+## 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. -> **One caveat — the search backend is an Adom service.** The actual lookups run against-> Adom's hosted JLCPCB / LCSC backend (`service-jlcpcb`), 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.+> **One caveat — the search backend is an Adom service.** Lookups run against Adom's hosted JLCPCB /+> LCSC backend (`service-jlcpcb`), 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.  ## License 
screenshots/hero.png
⋯ 1 unchanged line ⋯