docs: add implementation plan for comprehensive comic metadata support
This document provides a complete implementation plan for extracting ALL 19 ComicInfo.xml v2.0 fields with smart metadata merging and universal metadata support across all media types (ebooks, audiobooks, comics). Key features planned: - Complete ComicInfo.xml v2.0 support (all 19 fields) - Smart metadata merging: Calibre metadata.opf + ComicInfo.xml + folder structure - Universal metadata fields (5 fields apply to ALL formats): * age_rating: Content classification (Everyone, Teen, Mature, Adult) * series_count: Total items in series * volume: Collected edition/omnibus number * imprint: Publisher subdivision * web_url: Info page URLs (Goodreads, Audible, ComicVine, etc.) - Comic-specific fields (10 fields): * manga_type, reading_direction: Reading direction detection * story_arc, scan_information, alternate_info, summary, etc. - Genre/tag processing: ALL genres appear in tags array without duplication * Uses existing 'genre' column for primary genre * processGenresAndTags() ensures no duplicate genres in tags * Works for EPUB, ComicInfo.xml, PDF metadata - 15 new database columns, 8 indexes - Full-stack support: database → Go → API → TypeScript → frontend - Comprehensive testing and documentation Plan organization: - 10 phases: Database schema → Data structures → Smart merging → API updates - Includes detailed commit strategy with sequential git add/commit/push commands - Testing checklist with manual verification steps - Bruno API test specifications - Documentation updates (user + API reference) This plan follows PROJECT_GUIDELINES.md requirements: - No new services or handlers (reuses existing media_scanner.go) - Uses setupTestServer() helper for integration tests - Includes Bruno YAML files for API testing - Sequential git commits with detailed messages - Reuses existing code patterns and database schema
This commit is contained in: