# LinkSyncExtension - Task List ## Project Setup - [x] Create project directory structure - [x] Write README.md - [ ] Write TODOs.txt (in progress) - [ ] Write design.md - [ ] Write tasks.md - [ ] Write AGENTS.md ## Core Development ### Extension Manifest - [ ] Create manifest.json (MVP) - [ ] Add icon files - [ ] Configure permissions - [ ] Set browser ID ### Background Script - [ ] Create background.js service worker - [ ] Implement sync logic - [ ] Handle sync mode switching - [ ] Manage collection mapping - [ ] Auto-sync timer - [ ] Error handling ### Popup Script - [ ] Create popup.html - [ ] Create popup.css - [ ] Create popup.js - [ ] Bookmark form UI - [ ] Collection list UI - [ ] Settings UI - [ ] Search UI ### Utility Modules - [ ] utils/bookmark.js - Bookmark manipulation - [ ] utils/collection.js - Collection management - [ ] utils/query-engine.js - Query parsing/execution - [ ] utils/sync.js - Sync logic ### Content Script (Optional) - [ ] content/content.js - Read page data - [ ] Extract title/description - [ ] Handle URL detection - [ ] Inject into popup ### API Integration - [ ] /api/auth/login/ - Authentication - [ ] /api/links/ - Bookmark CRUD - [ ] /api/collections/ - Collection CRUD - [ ] /api/queries/execute/ - Query execution - [ ] /api/sync/ - Sync endpoint ### Sync Logic - [ ] Implement bi-directional sync - [ ] Implement browser-authoritative sync - [ ] Implement server-authoritative sync - [ ] Handle deletions checkbox - [ ] Conflict detection - [ ] Conflict resolution UI ### UI Components - [ ] Bookmark list view - [ ] Collection builder UI - [ ] Query editor - [ ] Search interface - [ ] Sync status indicator - [ ] Conflict resolution modal ### Storage Management - [ ] Store API key securely - [ ] Store collection mapping - [ ] Store sync settings - [ ] Sync timestamp tracking - [ ] Pending changes tracking ## Security - [ ] Encrypted storage - [ ] API key validation - [ ] HTTPS enforcement checks - [ ] CORS validation - [ ] Input sanitization ## Testing - [ ] Test sync modes - [ ] Test conflict resolution - [ ] Test query execution - [ ] Test offline handling - [ ] Test error handling ## Documentation - [ ] API reference - [ ] User guide - [ ] Troubleshooting guide - [ ] Query syntax guide ## Future Enhancements - [ ] Background sync notifications - [ ] Auto-sync scheduler - [ ] Keyboard shortcuts - [ ] Gesture controls - [ ] Mobile companion app