app
Chip Fetcher (cf)
Public Made by Adomby adom
Crawls the web on your behalf to gather everything about the chips you care about: datasheets, symbols, footprints, 3D models, stock and pricing, straight from the manufacturer first, into your EDA tool. Say "cf" to your AI.
← Commit history
README.md+23−12@@ -5,13 +5,13 @@ ## The stack -`adom-chip-fetcher` is the top of a stack — one command pulls a manufacturer-grade part bundle by orchestrating a tier of focused Adom apps. Each box below is a real app (click through to its page):+`adom-chip-fetcher` is the top of a stack, one command pulls a manufacturer-grade part bundle by orchestrating a tier of focused Adom apps. Each box below is a real app (click through to its page):  Download manufacturer-grade chip CAD bundles (STEP + KiCAD symbol + KiCAD footprint + datasheet + design-help PDFs) into a structured library by driving Chrome via [pup](https://github.com/adom-inc/adom-desktop). -The defining rule: **fetch from the manufacturer's own website first** — only fall back to Mouser, DigiKey, or Component Search Engine when the manufacturer doesn't self-host CAD, and only with explicit user approval.+The defining rule: **fetch from the manufacturer's own website first**, only fall back to Mouser, DigiKey, or Component Search Engine when the manufacturer doesn't self-host CAD, and only with explicit user approval. ## What it does @@ -38,6 +38,17 @@ library/<MPN>/ └── info.json # provenance trail (mfr-direct vs mouser-fallback) ``` +## Reuse first, then align pin-1++**Reuse before re-fetch.** The sourcing ladder now starts at the **Adom Wiki** (`Source::AdomWiki`): if the part is already published as a component bundle, chip-fetcher pulls that bundle (`.kicad_sym` / `.kicad_mod` / STEP / datasheet) instead of scraping vendors. Free, fast, and Adom-consistent. It only falls through to the manufacturer-first ladder when there's no published match.++**Pin-1 alignment.** From the dashboard you can **Align pin-1** in [chipsmith](https://wiki.adom.inc/adom/adom-chipsmith): line up the 3D chip's pin-1 with the footprint's pin-1 and sign off. chip-fetcher reads the sign-off back, derives the footprint's own pin-1 corner straight from the `.kicad_mod`, shows a **Pin-1 status** on every card (and flags a chip-vs-footprint mismatch), and `gate --strict` requires it.+++++*Each card is one part. The Pin-1 badge shows the footprint target (fp NW) until you align + sign off in chipsmith, then it locks to the chip corner (Pin-1 checkmark NW).*+ ## Verified vendors | Vendor | Path | Notes |@@ -50,21 +61,21 @@ library/<MPN>/ | Espressif | Mouser ECAD-Model fallback | mfr-uploaded to SamacSys | | Lattice | Mouser ECAD-Model fallback | mfr-uploaded to SamacSys | | Renesas | Mouser ECAD-Model fallback | mfr-uploaded to SamacSys |-| JST | `jst-mfg.com` (email-gated) | mfr-direct STEP/IGES **emailed** to you — see below |+| JST | `jst-mfg.com` (email-gated) | mfr-direct STEP/IGES **emailed** to you, see below | ## Email-delivered CAD (JST) Some manufacturers **email** the CAD file instead of serving a download. **JST** is the reference case: since April 2025, requesting a STEP/IGES on jst-mfg.com-sends it as an **email attachment**. The full flow — driving your real Chrome+sends it as an **email attachment**. The full flow, driving your real Chrome past Cloudflare, the License Agreement form, retrieving the attachment via [adom-google](https://wiki.adom.inc/adom/adom-google) (Gmail) or a build-your-own fetcher for other providers, and the breadcrumb pattern that-keeps chip-fetcher provider-agnostic — is documented in its own sub-README:+keeps chip-fetcher provider-agnostic, is documented in its own sub-README: -➡️ **[docs/jst-email-gated-cad.md](docs/jst-email-gated-cad.md)** — Email-delivered CAD: the JST flow (and how to add any email-gated manufacturer)+➡️ **[docs/jst-email-gated-cad.md](docs/jst-email-gated-cad.md)**, Email-delivered CAD: the JST flow (and how to add any email-gated manufacturer) -🏆 **[docs/jst-showcase.md](docs/jst-showcase.md)** — Showcase (with screenshots): how chip-fetcher cracked JST's Cloudflare + email gate end-to-end, and bundled the 5 most-common JST connectors with symbol + footprint + 3D.+🏆 **[docs/jst-showcase.md](docs/jst-showcase.md)**, Showcase (with screenshots): how chip-fetcher cracked JST's Cloudflare + email gate end-to-end, and bundled the 5 most-common JST connectors with symbol + footprint + 3D. > ⚖️ **Note on JST files:** JST's download License Agreement (clause 2) prohibits redistributing their CAD to third parties, so we do **not** rehost JST's emailed STEP/IGES or datasheets. Connector component pages we publish use the **redistributable KiCad libraries** for symbol/footprint/3D and **link to JST** for any JST-authored model. @@ -73,9 +84,9 @@ Agents: the same content lives in the skill as `playbooks/jst.md` + ### Demo (60s, narrated) -[](demo/jst-email-gated-cad-demo.webm)+[](demo/jst-email-gated-cad-demo.webm) -▶ **[Watch the 60-second demo](demo/jst-email-gated-cad-demo.webm)** — proven end-to-end on **PHR-2**: JST's global catalog → the License Agreement form → the "data has been sent to your email address" confirmation → `adom-google` pulls the emailed `PHR-2.STEP` → the chip-fetcher library card with its auto-rendered 3D model.+▶ **[Watch the 60-second demo](demo/jst-email-gated-cad-demo.webm)**, proven end-to-end on **PHR-2**: JST's global catalog → the License Agreement form → the "data has been sent to your email address" confirmation → `adom-google` pulls the emailed `PHR-2.STEP` → the chip-fetcher library card with its auto-rendered 3D model. Reproducible recipe (scenes, narration, TTS config): **[demo/jst-email-gated-cad-demo-script.md](demo/jst-email-gated-cad-demo-script.md)**. @@ -92,11 +103,11 @@ curl -fsSL https://wiki-ufypy5dpx93o.adom.cloud/static/apps/chip-fetcher/chip-fe Two adom-desktop fix-it specs live in [scripts/](scripts/): -- `adom-desktop-pullfile-speed-prompt.md` — streaming binary WS frames + HTTP fallback so 50+ MB files (NXP reference manuals) don't time out-- `adom-desktop-credential-vault-prompt.md` — DPAPI/Keychain-encrypted credential vault hooked into `puppeteer.page.authenticate()` so basic-auth popups never appear+- `adom-desktop-pullfile-speed-prompt.md`, streaming binary WS frames + HTTP fallback so 50+ MB files (NXP reference manuals) don't time out+- `adom-desktop-credential-vault-prompt.md`, DPAPI/Keychain-encrypted credential vault hooked into `puppeteer.page.authenticate()` so basic-auth popups never appear Paste either into Claude Code on the desktop to implement. ## License -**MIT** — © 2026 Adom Industries Inc. Open source; see [LICENSE](LICENSE). Modify, fork, and redistribute freely.+**MIT**, © 2026 Adom Industries Inc. Open source; see [LICENSE](LICENSE). Modify, fork, and redistribute freely.
SKILL.md+4@@ -156,6 +156,10 @@ Each playbook is a focused deep-dive. Read the relevant one when the situation m | [`playbooks/handoff-and-watching.md`](playbooks/handoff-and-watching.md) | You've decided you can't automate something (captcha, OAuth, OS prompt). Covers when handoff is allowed (escape valve, not routine), the ALWAYS-watch rule, signals to watch for per handoff trigger, the show-product-page-and-teach-me pattern when stuck on a vendor, and EDA-agnostic UI terminology. | | [`playbooks/jst.md`](playbooks/jst.md) | **Any JST connector** (PHR-/XHP-/ZHR-/SHR-/EHR-/VHR-/PAP-/GHR-/NHR- housings, B\*B-/S\*B-/BM\*B-/SM\*B- headers). The canonical **email-gated CAD** manufacturer: jst.com (USA) Cloudflare-walls pup → use the native browser; CAD lives on jst-mfg.com keyed by **series id**; the download link returns a **License Agreement form** (accept cookies first) whose submit **emails** the `.zip` (since Apr 2025); doc=1 IGES / doc=2 STEP / doc=3 3D-PDF / doc=4 2D-PDF (per-series, read the header); **no account login**; datasheet = direct series catalog PDF; JST gives 3D+drawings only, sym/mod still come from the ladder. | | [`playbooks/jst-email-retrieval.md`](playbooks/jst-email-retrieval.md) | A manufacturer **emails** the CAD (JST, and others coming). The account-specific retrieval layer: **Gmail users** → `adom-google` (`gmail attachments` / `gmail read`, plus-alias + filter for batches); **non-Gmail users** → build a small IMAP/Graph attachment-fetcher, publish it on the wiki, and drop a chip-fetcher breadcrumb so it auto-surfaces. Keeps chip-fetcher provider-agnostic. |+| [`playbooks/wiki-bundle-reuse.md`](playbooks/wiki-bundle-reuse.md) | **Ladder step 0 — reuse a published Adom Wiki bundle before re-fetching.** The wiki-as-part-source pattern (`Source::AdomWiki`, `src/sources/wiki.rs`): the read-only API (slug / discover / search), and every hard-won gotcha — FTS throws on hyphens, discover/search return LOOSE matches so you MUST verify `component.mpn` **or** slug, malformed `component.mpn`, pull canonical files only (skip `-v2`/`-compare` variants), files live in git not releases, metadata-only stubs → fall through. |+| [`playbooks/symbol-axis-regen.md`](playbooks/symbol-axis-regen.md) | chip-fetcher's side of the default symbol's 3D outline: **axis-aware regen** on up-axis switch (`POST /api/orientation` → light `chip-thumbnailer rerender --kind outline` → recomposite via adom-symbol) + the **non-blocking SYM-tile spinner** (data-driven on `sym_rev`, `pointer-events:none`). The symbol-DEFAULT behavior (compositing the white outline + lasered name, why natively white, the outline contract) lives in **adom-symbol** → `adom-symbol/docs/default-symbol-3d-outline.md`. |++> **adom-lbr BOM flags:** when chip-fetcher builds a `.lbr` it auto-passes `--mfr/--mpn/--mouser/…` from `stock.json` (`src/bom.rs`, wired in `deliver.rs` + `serve.rs`). The BOM *contract* itself (flags → `MF`/`MPN`/`MOUSER` device attributes, the `⛔ INCOMPLETE BOM` reprimand) lives in the **adom-lbr** skill, not here. ## Adom standard passive size — proactively recommend 0402
package.json+2−2@@ -1,6 +1,6 @@ { "slug": "adom-chip-fetcher",- "version": "1.0.3",+ "version": "1.1.0", "type": "app", "description": "Your whole parts library \u2014 manufacturer-grade chip CAD (symbol, footprint, 3D) one tap from your EDA tool.", "dependencies": {@@ -36,7 +36,7 @@ "needs_sudo": false, "hero": { "type": "image",- "path": "adom-chip-fetcher.png"+ "path": "adom-chip-fetcher-hero-v5.png" }, "files": [ "bin/adom-chip-fetcher",
page.json+3−3@@ -1,8 +1,8 @@ { "slug": "adom-chip-fetcher",- "version": "1.0.3",+ "version": "1.1.0", "type": "app",- "description": "Your whole parts library \u2014 manufacturer-grade chip CAD (symbol, footprint, 3D) one tap from your EDA tool.",+ "description": "Your whole parts library — manufacturer-grade chip CAD (symbol, footprint, 3D) one tap from your EDA tool.", "dependencies": { "adom/adom-sfconvert": "*", "adom/adom-symbol": "*",@@ -33,7 +33,7 @@ "needs_sudo": false, "hero": { "type": "image",- "path": "adom-chip-fetcher-hero-v4.png"+ "path": "adom-chip-fetcher-hero-v5.png" }, "visibility": "public", "title": "Adom Chip Fetcher",