← Commit history

Initial commit: app/adom-chip-fetcher

John Lauer ·4b96e6d4fd ·3mo ago
2 files changed +117
README.mdadded+86
@@ -0,0 +1,86 @@+# adom-chip-fetcher++**Download manufacturer-grade chip CAD bundles — 3D STEP + symbol & footprint + Fusion `.lbr` + datasheet — into a structured library, and open or ship each part straight to your EDA tool.**++adom-chip-fetcher drives a real Chrome session through a manufacturer-first sourcing ladder (Manufacturer → SnapEDA → Mouser → DigiKey → Arrow → Ultra Librarian → Component Search Engine), pulls the CAD bundle for a part, validates it, and lands it in `library/<MPN>/`. A live dashboard then turns every chip into a launch-pad for the rest of the Adom EDA family. Standalone Rust — no Node, no gallia, no local CAD install (rendering goes through the shared `service-kicad`).++## The dashboard++Your whole parts library at a glance — every chip a rich card with live thumbnails, status, stock and price, and one-tap launchers.++- **Projects** — filter the library to a working set with a project chip (`Library 53`, `nRF54L15`, …); the dashboard opens on the project you last activated.+- **Working-on heartbeat** — while a part is being fetched/validated, its card shows a live status badge ("rendering thumbnails", "walking the ladder…") and the view auto-scrolls to it.+- **Status at a glance** — FULL/STUB, STEP·KICAD·ALTIUM·FUSION presence, lifecycle, **stock + price** (Mouser), and the validation badge per card.++### The chip thumbnail picker + source carats++![Switch the source for a symbol or footprint](docs/carat.png)++Each card's **SYM** and **FP** tile carries a **▾ source carat**. When a part was pulled from more than one place (SnapEDA · Ultra Librarian · Component Search · ds2sf-from-datasheet), tap the carat to **switch source** — the tile re-renders to that vendor's actual drawing and the choice sticks. The **3D** tiles (Z↑ / Y↑) are an orientation picker, with a ▾ for all six face-up axes. Pick the part, the source, and the orientation you trust.++### Open in / Send to — the detail panel++![Tabbed detail panel: Actions, Details, Files](docs/details.png)++Selecting a chip fills a **tabbed panel** (Actions · Details · Files — so the long file list never dominates):++- **Open in** — `adom-symbol`, `adom-footprint`, `adom-lbr`, `adom-3D`, `chipsmith`, `adom-ds2sf extraction`. Opens in **your** browser via `window.open`, so it works on a phone, in a pup window, or a Hydrogen webview — and a toast tells you exactly how it opened.+- **Send to** — KiCad (native symbol + footprint), Fusion 360 (real `.lbr`), Altium / OrCAD (`.lbr` download + import steps; native exporters on the roadmap).++### Zoom — the focus view++![Full-screen zoom focus view](docs/zoom.png)++Tap **🔍** on any card to zoom it full-screen (with an ✕ to return) — the focus view carries the part's tiles, carats, **Open in**, and **Send to**, so on a phone everything for one chip is in one place.++## The source-site skill pack++adom-chip-fetcher's per-vendor navigation knowledge lives **in this repo** as an extensible skill pack (`skills/`) — one installable skill per site, documenting how to reach the CAD download **and how to recover when a site changes or blocks automation**. The crawler is the binary; the *how-to-drive-each-site* layer is community-owned.++### Skills shipped today++| Site | Skill | Covers |+|---|---|---|+| **SnapEDA / SnapMagic** | `sites/snapeda` | login + multi-format download (the canonical template) |+| **DigiKey** | `sites/digikey` | product-page CAD **+ the "pup is blocked" recovery playbook** |+| **Mouser** | `sites/mouser` | CAD + the authoritative stock/price/lifecycle source |+| **Ultra Librarian / CSE** | `sites/ultralibrarian` | the format-picker flow many vendor "ECAD model" buttons embed |+| **Manufacturer (generic)** | `sites/manufacturer` | the top-rung approach for any maker's product page |+| **Texas Instruments** | `sites/ti` | ti.com CAD section (Ultra Librarian embed + native STEP) |+| **STMicroelectronics** | `sites/st` | st.com CAD Resources tab behind myST |+| **NXP** | `sites/nxp` | nxp.com Design Resources + export-control click-through |++### Sites we still need skills for — **volunteer one!**++The community uses far more sources than we've covered. **If a site you use isn't listed above, you can add it** — these are the gaps we'd most love help on:++- **Manufacturers:** Microchip · Analog Devices · Infineon · onsemi · Renesas · Nordic · Espressif · Diodes Inc · Vishay · Murata · TDK · Bosch Sensortec+- **Distributors / aggregates:** Arrow · LCSC / EasyEDA · Newark/Farnell · RS · Octopart · SamacSys/Component Search Engine+- **Anything else** the electronics community pulls CAD from.++If adom-chip-fetcher gets stuck on a site, or you know a site it doesn't cover, the best contribution you can make is a **site skill** — and the day a vendor changes its layout or blocks automation, the freshest skill wins.++### How to make + contribute a site skill++1. **Copy the template** — `sites/snapeda/SKILL.md`. Fill in the five sections: **Reach** (the product-page URL pattern), **Gate** (login/region/cookie wall + which creds key), **Download flow** (the exact path to the CAD bundle), **Catch** (what the artifact is + where it lands), and **When it breaks** (the failure signatures + the recovery playbook — the highest-value part).+2. **Give it real trigger words** (the vendor name, "blocked", "captcha", the file types) so the AI surfaces it at the right moment.+3. **Contribute it** — two paths, the maintainer's call per contribution (full detail in `skills/CONTRIBUTING.md`):+   - **(A) PR into the pack** *(vetted — the default)* — open a PR adding `sites/<vendor>/SKILL.md`; the maintainer reviews + merges and it ships with the pack.+   - **(B) Linked external skill** *(trusted — opt-in)* — own the skill in **your own wiki repo** (you `adompkg publish` updates whenever you like) and PR a one-line **link** into the pack; it self-updates without a maintainer round-trip — ideal for fast-moving vendor sites.+4. **Security:** "getting past a block" means navigating the site as a human would (the right warm profile, human pacing, the path the site's own assistant suggests) — **never** defeating CAPTCHAs or security controls. Credentials come from `adom-chip-fetcher creds`, never inline.++Either way, your AI — and everyone else's — gets smarter the next time that site comes up.++## Part of the Adom EDA family++adom-chip-fetcher is the hub; it hands parts to the standalone apps it ships alongside — **adom-symbol**, **adom-footprint**, **adom-lbr**, and **adom-ds2sf**.++## Run it++```bash+adom-chip-fetcher serve            # the live dashboard (AI-drivable: /api/library, /api/open, …)+adom-chip-fetcher fetch <MPN>      # source a part into the library+adom-chip-fetcher sources          # print the canonical sourcing ladder+```++MIT, contributions welcome — start with a **site skill** (above).
page.jsonadded+31
@@ -0,0 +1,31 @@+{+  "slug": "adom-chip-fetcher",+  "version": "1.0.0",+  "type": "app",+  "description": "Your whole parts library — manufacturer-grade chip CAD (symbol, footprint, 3D) one tap from your EDA tool.",+  "dependencies": {},+  "tags": [+    "eda",+    "cad",+    "parts",+    "components",+    "pcb",+    "cli"+  ],+  "scripts": {+    "install": "./install.sh",+    "uninstall": "./uninstall.sh"+  },+  "install": {+    "binary_name": "adom-chip-fetcher"+  },+  "needs_sudo": false,+  "hero": {+    "type": "image",+    "path": "adom-chip-fetcher.png"+  },+  "author": {+    "name": "John Lauer",+    "email": "[email protected]"+  }+}\ No newline at end of file