archy/.claude/plans/prancy-scribbling-pnueli.md

81 lines
3.7 KiB
Markdown
Raw Normal View History

# 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