# Update Center Icons Implementation Plan > **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. **Goal:** Add icons to the Electron update-center list using local icon resolution first, remote URL fallback second, and a frontend placeholder last. **Architecture:** Add a focused `icons.ts` helper in the update-center backend to resolve icon paths/URLs while loading update items, then pass the single `icon` field through the service snapshot into the renderer. Keep the Vue side minimal by rendering a fixed icon slot in `UpdateCenterItem.vue` and falling back to a placeholder icon on `img` load failure. **Tech Stack:** Electron main process, Node.js `fs`/`path`, Vue 3 ` ``` - [ ] **Step 4: Run test to verify it passes** Run: `npm run test -- --run src/__tests__/unit/update-center/UpdateCenterItem.test.ts` Expected: PASS with 2 tests passed. - [ ] **Step 5: Commit** ```bash git add src/components/update-center/UpdateCenterItem.vue src/__tests__/unit/update-center/UpdateCenterItem.test.ts git commit -m "feat(update-center): render update item icons" ``` ### Task 4: Verify the Icon Feature End-to-End **Files:** - Modify: `electron/main/backend/update-center/icons.ts` - Modify: `electron/main/backend/update-center/index.ts` - Modify: `electron/main/backend/update-center/service.ts` - Modify: `src/global/typedefinition.ts` - Modify: `src/components/update-center/UpdateCenterItem.vue` - Modify: `src/__tests__/unit/update-center/icons.test.ts` - Modify: `src/__tests__/unit/update-center/load-items.test.ts` - Modify: `src/__tests__/unit/update-center/UpdateCenterItem.test.ts` - [ ] **Step 1: Format the changed files** Run: `npm run format` Expected: Prettier rewrites changed `src/` and `electron/` files without errors. - [ ] **Step 2: Run lint and the targeted update-center suite** Run: `npm run lint && npm run test -- --run src/__tests__/unit/update-center/icons.test.ts src/__tests__/unit/update-center/load-items.test.ts src/__tests__/unit/update-center/UpdateCenterItem.test.ts` Expected: ESLint exits 0 and the new icon-related tests pass. - [ ] **Step 3: Run the complete unit suite and production build** Run: `npm run test -- --run && npm run build:vite` Expected: all existing unit tests remain green and `vue-tsc` plus Vite production build complete successfully. - [ ] **Step 4: Commit the verified icon feature** ```bash git add electron/main/backend/update-center/types.ts electron/main/backend/update-center/icons.ts electron/main/backend/update-center/index.ts electron/main/backend/update-center/service.ts src/global/typedefinition.ts src/components/update-center/UpdateCenterItem.vue src/__tests__/unit/update-center/icons.test.ts src/__tests__/unit/update-center/load-items.test.ts src/__tests__/unit/update-center/UpdateCenterItem.test.ts git commit -m "feat(update-center): show icons in update list" ```