Files
archy/loop/prompt.md
Dorian c45de13752 fix: add 6 missing apps to first-boot and fix penpot icon path
Added searxng, onlyoffice, filebrowser, nginx-proxy-manager, portainer,
and tailscale to first-boot-containers.sh so fresh ISO installs have all
marketplace apps ready. Fixed penpot icon path in Marketplace.vue to use
the correct app-icons directory.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 00:18:28 +00:00

4.5 KiB

You are running a 2-year production roadmap for Archipelago (Archy) — taking it from developer preview to a flawless, mass-market Bitcoin Node OS (v1.0).

Read these files first:

  1. loop/plan.md — Your task checklist (mark items - [x] as you complete them)
  2. CLAUDE.md — Archy project conventions, architecture, coding standards

Architecture Quick Reference

Server: 192.168.1.228 (ssh -i ~/.ssh/archipelago-deploy archipelago@192.168.1.228)
Frontend: neode-ui/ → builds to web/dist/neode-ui/ → deployed to /opt/archipelago/web-ui/
Backend: core/archipelago/ → Rust binary → deployed to /usr/local/bin/archipelago
Nginx: /etc/nginx/sites-available/archipelago (source: image-recipe/configs/nginx-archipelago.conf)
Systemd: /etc/systemd/system/archipelago.service (source: image-recipe/configs/archipelago.service)
Deploy: scripts/deploy-to-target.sh, scripts/first-boot-containers.sh
ISO: image-recipe/build-auto-installer-iso.sh

Key Paths

  • Views: neode-ui/src/views/*.vue
  • Components: neode-ui/src/components/*.vue
  • Stores: neode-ui/src/stores/*.ts
  • API clients: neode-ui/src/api/*.ts
  • Global styles: neode-ui/src/style.css
  • Router: neode-ui/src/router/index.ts
  • Context broker: neode-ui/src/services/contextBroker.ts
  • Types: neode-ui/src/types/*.ts
  • Backend entry: core/archipelago/src/main.rs
  • RPC handlers: core/archipelago/src/api/rpc/*.rs
  • Container mgmt: core/container/src/*.rs
  • Security: core/security/src/*.rs
  • Identity: core/archipelago/src/identity/ (to be created)
  • Network: core/archipelago/src/network/ (to be created)
  • Wallet: core/archipelago/src/wallet/ (to be created)
  • Nginx config: image-recipe/configs/nginx-archipelago.conf
  • Systemd service: image-recipe/configs/archipelago.service
  • Web5 docs: docs/WEB5_NOSTR_IDENTITY.md
  • Three-mode UI spec: docs/three-mode-ui-design.md
  • Port assignments: apps/PORTS.md

For each task in loop/plan.md:

  1. Find the first unchecked - [ ] item
  2. Read the task description carefully — it tells you exactly what to do
  3. Read ALL relevant source files before making changes
  4. Make the change following CLAUDE.md conventions strictly:
    • Global CSS classes in style.css, NEVER inline Tailwind in components
    • <script setup lang="ts"> only, no Options API
    • No any types — use proper TypeScript types
    • No unwrap()/expect() in Rust production code — use ? operator
    • Use tracing for Rust logging — never println!
  5. For frontend changes:
    • Run cd neode-ui && npm run type-check — fix ALL errors
    • Run cd neode-ui && npm run build — must succeed
    • Deploy: ./scripts/deploy-to-target.sh --live
    • Verify at http://192.168.1.228
  6. For backend changes:
    • Do NOT build Rust on macOS — the deploy script handles it
    • Deploy: ./scripts/deploy-to-target.sh --live
    • Verify the service is running on the server
  7. For nginx/systemd/infra changes:
    • Deploy the config file to the server (commands in the task description)
    • Validate config before applying (nginx -t)
    • Verify the service works after applying
  8. For new feature development:
    • Create new files in the appropriate module directories
    • Follow existing patterns in the codebase
    • Wire new RPC endpoints through the existing RPC system
    • Add new views to the router
    • Add new stores as needed
  9. Mark it done - [x] in loop/plan.md
  10. Commit: type: description
  11. Move to the next unchecked task immediately

Critical Rules

  • Do NOT break existing functionality — if your change breaks something, fix it before moving on
  • Read files before editing — understand before changing
  • Never skip type-check or build — if it fails, fix before moving on
  • Always deploy after completing a task — changes must be live
  • Use SSH key, not password: ssh -i ~/.ssh/archipelago-deploy archipelago@192.168.1.228
    • For sudo: pipe the password echo "EwPDR8q45l0Upx@" | sudo -S <command>
  • Follow the design system — glass cards, glass buttons, existing color tokens, no gradient buttons
  • Replace dummy data with real backends — no more hardcoded values in Web5.vue
  • New Rust modules go in core/archipelago/src/ with proper error types
  • New Vue views go in neode-ui/src/views/ with <script setup lang="ts">
  • If a task is proving difficult after 15+ genuine attempts, add (BLOCKED: reason) to the task and move on
  • Do not stop until all tasks are checked or you hit rate limits
  • Commit after each completed task