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
Publish 1.3.7
8 files changed
+16−12
SKILL.md+1−1@@ -5,7 +5,7 @@ description: Download manufacturer-grade chip CAD bundles (STEP + KiCad symbol + # chip-fetcher -Rust CLI at `/home/adom/project/chip-fetcher/`. Crawls the web on the user's behalf to gather everything about the chips they care about: manufacturer-grade chip bundles (STEP + `.kicad_sym` + `.kicad_mod` + Altium `.IntLib` + Fusion `.lbr` + datasheet PDFs) from the manufacturer's site first, then SnapEDA → Mouser → DigiKey → Arrow → CSE/UL → **LCSC (last resort)**, using a persistent pup Chrome profile. Yanks the downloaded zip from the user's desktop via `adom-bridge --ai-thread "<thread>" pull_file`. Run `chip-fetcher sources` any time to print the canonical priority order, single source of truth for the ladder.+**cf** is the settled short name; users say and type `cf` for chip fetcher ("fetch STM32H743VIT6 with cf"), and the glossary page defines it. Rust CLI at `/home/adom/project/chip-fetcher/`. Crawls the web on the user's behalf to gather everything about the chips they care about: manufacturer-grade chip bundles (STEP + `.kicad_sym` + `.kicad_mod` + Altium `.IntLib` + Fusion `.lbr` + datasheet PDFs) from the manufacturer's site first, then SnapEDA → Mouser → DigiKey → Arrow → CSE/UL → **LCSC (last resort)**, using a persistent pup Chrome profile. Yanks the downloaded zip from the user's desktop via `adom-bridge --ai-thread "<thread>" pull_file`. Run `chip-fetcher sources` any time to print the canonical priority order, single source of truth for the ladder. ## Bones
bin/adom-chip-fetcher⋯ 1 unchanged line ⋯
dockbar.json+5−5@@ -1,12 +1,12 @@ { "dock_manifest": "1.2.0", "say": [- "fetch STM32F103C8T6 with chip fetcher",- "show me the chip fetcher dashboard in pup",- "chip fetcher: plan a batch for my BOM",+ "fetch STM32H743VIT6 with cf",+ "show me the cf dashboard in pup",+ "cf: plan a batch for my BOM", "chip fetcher, find a 3.3V LDO in stock at mouser", "open this chip's symbol in kicad",- "sign in to componentsearchengine in pup for chip fetcher"+ "sign in to componentsearchengine in pup for cf" ], "webview": { "title": "Chip Fetcher",@@ -36,7 +36,7 @@ ], "on_ready": "navigate_placeholder", "ai": {- "prompt": "The user just opened Chip Fetcher from the dock. Read ~/.claude/skills/adom-chip-fetcher/SKILL.md, run `adom-chip-fetcher doctor`, and if any component is not green offer to fix it (`adom-chip-fetcher doctor --fix`). Then ask which part numbers they want sourced; start with `adom-chip-fetcher plan <MPNs>`. Keep the dashboard in their maximized pup window and narrate progress with `adom-chip-fetcher ui toast`.",+ "prompt": "The user just opened Chip Fetcher (cf) from the dock. Read ~/.claude/skills/adom-chip-fetcher/SKILL.md, run `adom-chip-fetcher doctor`, and if any component is not green offer to fix it (`adom-chip-fetcher doctor --fix`). Then ask which part numbers they want sourced; start with `adom-chip-fetcher plan <MPNs>`. Keep the dashboard in their maximized pup window and narrate progress with `adom-chip-fetcher ui toast`. Note: users say 'cf' as shorthand for chip fetcher.", "thread": "existing", "thread_fallback": "new", "submit": "staged",
package.json+4−2@@ -1,6 +1,6 @@ { "slug": "adom-chip-fetcher",- "version": "1.3.6",+ "version": "1.3.7", "type": "app", "description": "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.", "dependencies": {@@ -79,7 +79,9 @@ "dashboard-pin1.png", "adom-chip-fetcher-hero-v6.png", "skills/adom-chip-fetcher-dock/SKILL.md",- "docs/img/dock-rail-ah.png"+ "docs/img/dock-rail-ah.png",+ "src/ui/assets/shots/taskbar-indeterminate.png",+ "src/ui/assets/shots/taskbar-off.png" ], "license": "MIT", "discovery_triggers": [
page.json+5−3@@ -1,6 +1,6 @@ { "slug": "adom-chip-fetcher",- "version": "1.3.6",+ "version": "1.3.7", "type": "app", "description": "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.", "dependencies": {@@ -87,7 +87,9 @@ "dashboard-pin1.png", "adom-chip-fetcher-hero-v6.png", "skills/adom-chip-fetcher-dock/SKILL.md",- "docs/img/dock-rail-ah.png"+ "docs/img/dock-rail-ah.png",+ "src/ui/assets/shots/taskbar-indeterminate.png",+ "src/ui/assets/shots/taskbar-off.png" ], "license": "MIT", "discovery_triggers": [@@ -132,4 +134,4 @@ } ], "brief": "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."-}+}
skills/adom-chip-fetcher-dock/SKILL.md+1−1@@ -54,7 +54,7 @@ pup are ready before they ask for their first part. | Direct URL | `src/dock.rs` | prints `http://127.0.0.1:8786/`, never the `/proxy/<port>/` form and never the name `localhost` (Windows resolves it IPv6-first while WSL binds IPv4; ~800 ms per request vs 13) | | Health with CORS | `src/serve.rs` + `src/dock.rs` | `GET /health` = `{ok, app, version}`. `GET /api/status` is cached 10 s so the dock's 2 s probe budget always lands. EVERY response carries `Access-Control-Allow-Origin: *` and `OPTIONS` answers 204: the dock probes cross-origin from the shell page, and without the header the card reads "not answering" while curl says 200 | | Per-facet LEDs + owned rollup | `src/dock.rs` (`build_facets`) | facets: Dashboard, AI skill, Sister tools (13 binaries on PATH), Desktop (`adom-bridge targets`), Library (parts + completeness; an incomplete library is work in progress, never a warning). Top-level `state` is our own rollup and wins; each facet carries a `_hint` naming the exact fix |-| Say it | `dockbar.json` + the page | six phrases in the user's noun ("fetch STM32F103C8T6 with **chip fetcher**"), shown on the interstitial and as the FIRST strip on the dashboard: copy on click, Try it stages into this app's own AI thread (census first, history second, copy fallback; `src/dock.rs::try_phrase`) |+| Say it | `dockbar.json` + the page | six phrases in the user's noun ("fetch STM32H743VIT6 with **cf**"; cf is the settled short name for chip fetcher), shown on the interstitial and as the FIRST strip on the dashboard: copy on click, Try it stages into this app's own AI thread (census first, history second, copy fallback; `src/dock.rs::try_phrase`) | | Settings window | the page | the cog at the right end of the 44px header opens the settings-layout modal: Components (Install / Update rows with a live console), Taskbar, Dashboard, Logins (pup's vault), two-click Restore defaults | | Taskbar progress | `src/taskbar.rs` | the whole lookup paints an INDETERMINATE bar on the dashboard pup window's taskbar button (`pup_progress`), driven by the heartbeat protocol; short verbs (cse, ds2sf) fill a determinate bar from persisted running averages (`~/.config/adom-chip-fetcher/durations.json`). Toggle: `chip-fetcher settings set taskbar_progress off` |
src/ui/assets/shots/taskbar-indeterminate.pngadded⋯ 1 unchanged line ⋯
src/ui/assets/shots/taskbar-off.pngadded⋯ 1 unchanged line ⋯