docs: expand app integration checklist with full file-by-file guide
Replaces the brief 4-item checklist with a comprehensive file-level checklist covering backend, frontend, nginx, deploy, first-boot, and ISO build. Ensures no file is missed when adding or modifying apps. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
caefe1ca4e
commit
d3f0f1192e
45
CLAUDE.md
45
CLAUDE.md
@ -243,12 +243,47 @@ type: description
|
||||
|
||||
## App Integration Checklist
|
||||
|
||||
When adding or fixing apps:
|
||||
When adding or fixing apps, **every file below must be checked**. Missing any one causes failures on fresh installs.
|
||||
|
||||
1. Test the app UI loads on its configured port
|
||||
2. Auto-connect dependencies (Bitcoin RPC, LND, etc.) — apps must work out of the box
|
||||
3. Ensure `get_app_config()` in `core/archipelago/src/api/rpc.rs` has correct env vars
|
||||
4. Most apps launch in iframe; BTCPay (23000) and Home Assistant (8123) open in new tab (X-Frame-Options)
|
||||
### Backend (Rust)
|
||||
|
||||
- [ ] `core/archipelago/src/api/rpc/package.rs` — `get_app_config()`: ports, volumes, env vars, custom args
|
||||
- [ ] `core/archipelago/src/api/rpc/package.rs` — `needs_archy_net`: add if app needs container DNS
|
||||
- [ ] `core/archipelago/src/api/rpc/package.rs` — `get_app_capabilities()`: add required caps (CHOWN, etc.)
|
||||
- [ ] `core/archipelago/src/api/rpc/package.rs` — dependency checks (e.g., electrs requires bitcoin)
|
||||
- [ ] `core/archipelago/src/container/docker_packages.rs` — `get_app_metadata()`: title, description, icon, repo
|
||||
- [ ] `core/archipelago/src/container/docker_packages.rs` — UI address mapping (e.g., `http://localhost:50002`)
|
||||
|
||||
### Frontend (Vue)
|
||||
|
||||
- [ ] `neode-ui/src/views/Marketplace.vue` — `getCuratedAppList()`: marketplace entry with dockerImage
|
||||
- [ ] `neode-ui/src/stores/appLauncher.ts` — port-to-proxy mapping (if app has custom UI port)
|
||||
- [ ] `neode-ui/src/views/AppDetails.vue` — route ID mapping (if app ID differs from container name)
|
||||
|
||||
### Nginx
|
||||
|
||||
- [ ] `image-recipe/configs/nginx-archipelago.conf` — `/app/{id}/` proxy in HTTP block
|
||||
- [ ] `image-recipe/configs/snippets/archipelago-https-app-proxies.conf` — `/app/{id}/` proxy in HTTPS block
|
||||
- [ ] Any custom status endpoints (e.g., `/electrs-status`) proxied before the SPA catch-all
|
||||
|
||||
### Deploy & First Boot
|
||||
|
||||
- [ ] `scripts/deploy-to-target.sh` — container creation/update logic
|
||||
- [ ] `scripts/first-boot-containers.sh` — container created on fresh ISO install
|
||||
- [ ] Custom UI containers (e.g., electrs-ui): built and started in both deploy and first-boot
|
||||
|
||||
### ISO Build
|
||||
|
||||
- [ ] `image-recipe/build-auto-installer-iso.sh` — `CAPTURE_PATTERNS`: image captured from live server
|
||||
- [ ] `image-recipe/build-auto-installer-iso.sh` — `CONTAINER_IMAGES`: fallback image pulled from registry
|
||||
- [ ] `image-recipe/build-auto-installer-iso.sh` — docker UI source files bundled for build fallback
|
||||
- [ ] `image-recipe/build-auto-installer-iso.sh` — installer copies files to target disk
|
||||
|
||||
### Runtime Verification
|
||||
|
||||
- [ ] Test the app UI loads on its configured port
|
||||
- [ ] Auto-connect dependencies (Bitcoin RPC, LND, etc.) — apps must work out of the box
|
||||
- [ ] Most apps launch in iframe; BTCPay (23000) and Home Assistant (8123) open in new tab (X-Frame-Options)
|
||||
|
||||
## ISO Build
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user