{"slug": "show-hn-epub-reader-that-lets-your-coding-agent-read-along", "title": "Show HN: ePub reader that lets your coding agent read along", "summary": "A developer released an open-source ePub reader that integrates coding agents from GitHub Copilot, Claude Code, Codex, and Gemini, allowing users to chat with an AI agent about the book's content using their existing CLI subscriptions. The tool, available via pnpm install, features Study Mode with a three-panel layout and Reader Mode with paginated rendering via epub.js, plus web search via Exa when an API key is set. Data is stored locally in ~/.readingisfun/.", "body_md": "EPUB reader with coding agent integration. Uses your existing CLI subscription (Copilot, Claude Code, Codex, Gemini).\n\n```\npnpm install\ncp server/.env.example server/.env\ncp client/.env.example client/.env\npnpm dev\n```\n\nClient runs on `http://localhost:5173`\n\n, server on `http://localhost:3002`\n\n.\n\n**Study Mode**— Three-panel layout: chapter sidebar on the left, raw XHTML content in the center, AI chat / notes / highlights on the right. Panels are resizable and collapsible.\n\n**Reader Mode**— Paginated EPUB rendering via[epub.js](https://github.com/futurepress/epub.js). Single-column view with page turns, three themes (light, sepia, dark), adjustable font size. AI and highlights accessible via slide-over panel on text selection.\n\nChat with an AI agent about what you're reading. The agent has read-only access to the book's content and can reference any chapter.\n\n- Works with any provider: Anthropic, GitHub Copilot, Google Gemini, OpenAI Codex\n- Authenticate through existing CLI subscriptions — no extra API keys needed\n\nThe AI agent can search the web via [Exa](https://exa.ai) for information beyond the book's content. Set `EXA_API_KEY`\n\nin `server/.env`\n\nand `VITE_WEB_SEARCH=true`\n\nin `client/.env`\n\n(see setup above). A globe icon appears next to the chat input to toggle it.\n\n- Select text to highlight it (visually marked in reader mode)\n- Take markdown notes per chapter\n- All highlights and notes persist locally\n\n- Import any\n`.epub`\n\nfile\n\nEverything lives in `~/.readingisfun/`\n\n```\n~/.readingisfun/\n├── auth.json                  # OAuth tokens\n├── uploads/                   # Original EPUB files\n└── books/{bookId}/\n    ├── manifest.json           # Book metadata & chapter index\n    ├── progress.json           # Reading percentage & last CFI position\n    ├── images/                 # Extracted images\n    └── chapters/{N}/\n        ├── raw.html            # Chapter content (EPUB XHTML body)\n        ├── metadata.json       # Title, word count, image refs\n        ├── notes.md            # Your notes\n        ├── highlights.json     # Your highlights\n        └── chats/              # AI chat sessions\n```\n\n", "url": "https://wpnews.pro/news/show-hn-epub-reader-that-lets-your-coding-agent-read-along", "canonical_source": "https://github.com/baturyilmaz/readingisfun", "published_at": "2026-08-22 19:09:14+00:00", "updated_at": "2026-08-22 19:43:45.335242+00:00", "lang": "en", "topics": ["ai-tools", "developer-tools", "artificial-intelligence"], "entities": ["GitHub Copilot", "Claude Code", "Codex", "Gemini", "epub.js", "Exa"], "alternates": {"html": "https://wpnews.pro/news/show-hn-epub-reader-that-lets-your-coding-agent-read-along", "markdown": "https://wpnews.pro/news/show-hn-epub-reader-that-lets-your-coding-agent-read-along.md", "text": "https://wpnews.pro/news/show-hn-epub-reader-that-lets-your-coding-agent-read-along.txt", "jsonld": "https://wpnews.pro/news/show-hn-epub-reader-that-lets-your-coding-agent-read-along.jsonld"}}