# Plan: Demo Seeding, Dev Environment Fix, and Developer Onboarding ## Context After the repo cleanup (docs/scripts archived to `~/Projects/archy-archive/`), several dev scripts reference deleted files. Additionally, the demo needs better seeding for Portainer showcase, ThunderHub + Fedimint need to be visible, and a new developer needs docs to onboard. ## Changes ### 1. Fix broken dev scripts **`neode-ui/start-dev.sh`** — Remove lines 72-110 (Docker Desktop check + `start-docker-apps.sh` call). Replace with a one-liner noting mock backend handles simulation. **`neode-ui/stop-dev.sh`** — Remove lines 66-74 (Docker container stop block calling `stop-docker-apps.sh`). **`neode-ui/package.json`** — Remove the `prebuild` script (line 22) that references archived `../../loop-start.mp3`. File already exists at `public/assets/audio/`. **`scripts/dev-start.sh`** — Fix option 2 (Full Stack) lines 67-84 that reference `start-docker-apps.sh`. Guard with a skip message instead of failing. ### 2. Add ThunderHub (Lightning management UI) **Files**: mock-backend.js, Marketplace.vue, appLauncher.ts, new icon SVG - Port: **3010** (3000 taken by Grafana) - Docker image: `apotdevin/thunderhub:v0.13.31` - Add to `portMappings`, `marketplaceMetadata`, `staticDevApps`, `marketplace.get()` in mock-backend.js - Add to `getCuratedAppList()` in Marketplace.vue (after LND entry) - Add to `recommended` tier in `getAppTier()` - Add `'3010': 'thunderhub'` to PORT_TO_APP_ID in appLauncher.ts - Create `neode-ui/public/assets/img/app-icons/thunderhub.svg` (Bitcoin-orange lightning bolt icon) ### 3. Improve Fedimint in demo **mock-backend.js**: - Add `fedimint` to `staticDevApps` (pre-installed, running, port 8175) - Update `marketplace.get()` version from `0.4.3` → `0.10.0` - Fix `portMappings.fedimint` from 8174 → 8175 (Guardian UI port) ### 4. Add realistic notifications **mock-backend.js** — Replace empty `node.notifications` with 5 realistic entries: Bitcoin sync, LND channel opened, disk warning, system update, Fedimint guardian connected. ### 5. Rewrite README for developer onboarding **`neode-ui/README.md`** — Full rewrite: - Quick start (npm install, npm start, localhost:8100, password123) - Architecture overview - Dev modes (setup/onboarding/existing/boot) - Mock backend capabilities (8 static apps, 30+ marketplace, WebSocket, FileBrowser API, Claude proxy) - Demo deployment (docker-compose.demo.yml, Portainer, ANTHROPIC_API_KEY) - Design system (glassmorphism classes, tokens) - Build commands - Remove Angular references and outdated sections **`neode-ui/DEV-SCRIPTS.md`** — Update "Available Test Apps" section to list the 8 actual static apps, remove Docker apps references. ### 6. Verify Docker demo build Confirm `docker-compose.demo.yml` paths still valid after cleanup: - `demo/aiui/` exists (for Dockerfile.web COPY) - `neode-ui/docker/nginx-demo.conf` exists - `neode-ui/docker/docker-entrypoint.sh` exists ## Files to modify 1. `neode-ui/start-dev.sh` 2. `neode-ui/stop-dev.sh` 3. `neode-ui/package.json` 4. `scripts/dev-start.sh` 5. `neode-ui/mock-backend.js` 6. `neode-ui/src/views/Marketplace.vue` 7. `neode-ui/src/stores/appLauncher.ts` 8. `neode-ui/public/assets/img/app-icons/thunderhub.svg` (new) 9. `neode-ui/README.md` 10. `neode-ui/DEV-SCRIPTS.md` ## Verification 1. `cd neode-ui && npm start` — should start cleanly, no errors about missing scripts 2. Visit localhost:8100 → login → Dashboard shows 8 apps (bitcoin, lnd, electrs, mempool, lorabell, filebrowser, thunderhub, fedimint) 3. Marketplace shows ThunderHub in Bitcoin category 4. Notifications bell shows 3 unread 5. `npm stop` — clean shutdown, no errors 6. `docker compose -f docker-compose.demo.yml build` — builds successfully