- Overhaul content detection: expand all query/response classifiers with broader AI response patterns (news, music, books, TV, places, websites) - Add Nostr detection (isNostrQuery, isNostrLikeResponse) and App detection (isAppQuery, isAppLikeResponse) classifiers - Add bare domain extraction from AI text (e.g. "check out damus.io") - Add Apps tab with curated database of ~30 Nostr + Bitcoin ecosystem apps (clients, wallets, privacy tools, node software, dev tools) - Create AppsGrid + AppDetail components with search, filtering, how-to - Wire app extraction and Nostr detection into useContentPanel - Add PromptIndex badges for Apps and Nostr tabs - Chat UX: dedicated history button, settings modal (memory + advanced), fix collapsed chat v-if/v-else chain bug - Web search: add Brave Search API as primary backend, expand SearXNG pool - iOS HIG: comprehensive mobile UX rules in cursor rules + CLAUDE.md Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2.5 KiB
2.5 KiB
You are executing the AIUI product roadmap autonomously. Read these files first:
loop/plan.md— Your task checklist (mark items- [x]as you complete them)PLAN2.md— Detailed specs for each task (M8.1, M8.2, etc.)CLAUDE.md— Project conventions, design system rules, and coding standardsPROGRESS.md— Update the session log after each task
Design System Rules (must follow for every file you touch)
- Glass morphism only — use
.glass,.glass-card,.glass-button,.glass-button-smfromsrc/styles/main.css - No light-mode conditionals — never use
isDark ?pattern. The app is dark-only. Remove any existing light-mode code you encounter. - No
bg-gray-*orbg-white— usebg-white/5,bg-white/10,bg-black/35etc. - Text opacity scale —
text-white/25→/40→/60→/70→/80→/90→/96→text-white - Accent colour —
text-accent(#F7931A),bg-accent/15,border-accent/30for Bitcoin-orange highlights - Touch targets — min 44×44px, 8px gaps between targets
- Font size — min
16pxon all inputs (prevents iOS zoom) - Animations —
animate-scale-in,animate-fade-up,animate-fade-infrom design system only
For each task in loop/plan.md:
- Find the first unchecked
- [ ]item - Read the detailed spec from
PLAN2.mdfor that task code (e.g. M8.1) - Implement the feature following the spec and design system rules above
- Run
pnpm typecheck && pnpm lint— fix all errors before committing - Run
pnpm test— fix any failing tests - If the task has a Testing Gate (
pnpm test:e2eor specific test file), run it and fix failures - Commit:
type(scope): description(conventional commits) - Mark it done
- [x]inloop/plan.md - Update
PROGRESS.mdsession log - Move to the next unchecked task immediately
Rules
- Never skip a testing gate — if tests fail, fix them before moving on
- If a task is proving difficult, keep trying different approaches. Make at least 30 genuine attempts before giving up and moving on. If you do move on, note the attempt count in the Notes section and leave the task unchecked.
- Always run typecheck + lint after every code change
- Keep initial bundle < 250 KB gzipped — lazy-load anything heavy (PDF viewer, Mermaid, KaTeX, etc.)
- Bitcoin only — never altcoins, never fiat payment flows
- Privacy first — no external analytics calls, no telemetry
- Do not stop until all tasks are checked or you are rate limited