---
name: adom-parts-search-build
description: Build and release a new version of adom-parts-search. Use when the user says "release adom-parts-search", "publish adom-parts-search", "cut a new adom-parts-search version", "bump adom-parts-search", "ship adom-parts-search".
---

# Release adom-parts-search

1. Bump `VERSION` + `Cargo.toml` + `wiki/page.json` version.
2. `./build.sh` — cargo build, install local binary.
3. Verify — `adom-parts-search search "STM32F103RBT6"` returns all three vendors.
4. Ralph-loop the webview (`adom-parts-search app --no-tab` + pup).
5. Show user a screenshot of the 3-column grid + recommendation banner; wait for explicit approval.
6. `./publish.sh` — git tag, wiki asset upload, wiki page update, verify.

## Pre-release checklist

- [ ] VERSION / Cargo.toml / `--version` / wiki metadata all match
- [ ] All three backends reachable (check service-watcher)
- [ ] Recommendation banner renders Mouser-preferred when Mouser is in stock
- [ ] Product images render (web-view fetches mouser.com + digikey.com + LCSC images)
- [ ] No console errors via `GET /console`
- [ ] 🛑 Icon audit — EVERY icon monochrome white, no favicon carve-out.
      Run all three greps; each must return zero:
      ```
      # (a) Teal fills/strokes in any SVG, including docs/icon.svg itself
      grep -nE 'fill="(#00b8b0|#00d4cb)"|stroke="(#00b8b0|#00d4cb)"' \
        docs/icon.svg src/app/*.html src/app/*.svg 2>/dev/null

      # (b) docs/icon.svg uses only #e6edf3 / currentColor / none / bg-dark
      grep -oE 'fill="#[0-9a-fA-F]{3,8}"|stroke="#[0-9a-fA-F]{3,8}"' docs/icon.svg | \
        grep -v -E '"#e6edf3"|"#ffffff"|"#fff"|"#0d1117"|"none"|"transparent"|"currentColor"' \
        || echo "(docs/icon.svg clean)"

      # (c) No .logo / .icon container inheriting --accent as currentColor
      grep -nE '\.logo[^{]*{[^}]*color:\s*var\(--accent\)|\.icon[^{]*{[^}]*color:\s*var\(--accent\)' \
        src/app/*.html 2>/dev/null
      ```
      The favicon/tab-icon is NOT exempt. See `brand/SKILL.md` §Icons +
      `app-creator/SKILL.md` §1b — the rule was tightened after this
      app shipped v0.1.0 with a teal tab icon that slipped past three
      audits.

## Version bumping triggers

- Backend URL changes (slug rotation on service-mouser / service-digikey / service-jlcpcb) → patch bump + republish to propagate.
- UI changes visible to the user → minor bump.
- Policy changes (e.g. new vendor, different preference rules) → minor bump + update the gallia `adom-parts-search` skill to match.
